linux运维工程师必会

搭建4.4.7版本zabbix(基于mysql数据库)

2020-04-07  本文已影响0人  苏水的北

1、基础环境搭建:

1.1 准备一台服务器:

系统:CentOS7.6版本Linux系统
ip:192.168.95.155
备注:mysql、zabbix、apache服务均在一台服务器上部署。

1.2修改repo源,yum安装基础插件:

[root@zabbix ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@zabbix ~]#curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@zabbix ~]#yum  repolist
[root@zabbix ~]#yum install  tree vim wget bash-completion   bash-completion-extras  lrzsz net-tools sysstat iotop iftop htop unzip nc nmap telnet bc psmisc   -y
[root@zabbix ~]#yum install  tree vim wget bash-completion   bash-completion-extras  lrzsz net-tools sysstat iotop iftop htop unzip nc nmap telnet bc psmisc   -y

1.3永久关闭并暂停selinux和filewalld:

[root@zabbix ~]#vim     /etc/selinux/config 
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted 

[root@zabbix ~]#systemctl  disable  firewalld
[root@zabbix ~]#systemctl  stop  firewalld
[root@zabbix ~]#systemctl  status   firewalld
[root@zabbix ~]#systemctl  disable   NetworkManager 
[root@zabbix ~]#systemctl  stop   NetworkManager 
[root@zabbix ~]#systemctl is-active  firewalld   NetworkManager  
[root@zabbix ~]#systemctl is-enabled  firewalld   NetworkManager 

2、mysql数据库安装:

2.1 创建相关目录

[root@zabbix ~]# mkdir /application           ----> 软件的存放目录
[root@zabbix ~]# mkdir /data/3306/data -p     ----> 数据的存放位置

2.2 创建用户

[root@zabbix ~]# useradd -s /sbin/nologin -M mysql

2.3 官网下载mysql-5.7.26-linux-glibc2.12-x86_64软件并解压处理

[root@zabbix /application]# mv mysql-5.7.26-linux-glibc2.12-x86_64 mysql

2.4 数据初始化(创建系统数据)

[root@zabbix ~]# rpm -qa|grep maria
mariadb-libs-5.5.60-1.el7_5.x86_64
[root@zabbix ~]# yum  remove mariadb-libs-5.5.60-1.el7_5.x86_64 -y
[root@zabbix ~]# vim /etc/profile
export PATH=/application/mysql/bin:$PATH
[root@zabbix ~]#source  /etc/profile
[root@zabbix ~]# mysql -V
mysql  Ver 14.14 Distrib 5.7.26, for linux-glibc2.12 (x86_64) using  EditLine wrapper
[root@zabbix ~]# mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/data/3306/data

2.5 书写配置文件

[root@zabbix ~]#cat >/etc/my.cnf <<EOF
[mysqld]
user=mysql
basedir=/application/mysql
datadir=/data/3306/data
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock
prompt=mysql[\\d]>
EOF

2.6 准备启动脚本

[root@zabbix ~]#chown -R mysql.mysql /data/*   /application/mysql/*
[root@zabbix ~]#cp /application/mysql/support-files/mysql.server   /etc/init.d/mysqld 
[root@zabbix ~]# /etc/init.d/mysqld start
Starting MySQL.Logging to '/data/3306/data/db01.err'.
SUCCESS! 

2.7 使用systemd管理mysql

[root@zabbix ~]#cat > /etc/systemd/system/mysqld.service <<EOF
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
EOF

2.8 启动mysql服务,并设置开机自启(mysql服务端口3306)

[root@zabbix ~]# /etc/init.d/mysqld stop
[root@zabbix ~]#systemctl status mysqld
[root@zabbix ~]#systemctl start mysqld
[root@zabbix ~]#systemctl enable  mysqld
[root@zabbix ~]#netstat -lntup|grep mysql
tcp6       0      0 :::3306                 :::*                    LISTEN      5848/mysqld     

注意:将原来模式启动mysqld先关闭,然后再用systemd管理。

2.9 设置软连接,后面启动zabbix服务需要用到:

[root@zabbix ~]#mkdir /var/lib/mysql
[root@zabbix ~]#ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

3、访问zabbix官网,根据官网提示,制作安装zabbix服务前的基础环境。按照自己选定的基础配置页面,执行下面的命令:

3.1在官网找自己的基础配置页面

image.png

3.2下载zabbix源,并把链接改为清华源:

[root@zabbix ~]#rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
[root@zabbix ~]#yum clean all
[root@zabbix ~]#cat /etc/yum.repos.d/zabbix.repo
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.4/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

[zabbix-debuginfo]
name=Zabbix Official Repository debuginfo - $basearch
baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.4/rhel/7/$basearch/debuginfo/
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
gpgcheck=1

[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1

3.3安装Zabbix server,Web前端,agent

[root@zabbix ~]#yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent

3.4创建初始数据库

[root@zabbix ~]#mysql -uroot -p
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
mysql> grant all privileges on zabbix.* to zabbix@192.168.%.%  identified by 'zabbix';
mysql> quit;

3.5导入初始架构和数据,系统将提示您输入新创建的密码。

[root@zabbix ~]#zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

3.6修改zabbix_server配置文件,并启动服务,设置开机自启动。

[root@zabbix ~]#vim /etc/zabbix/zabbix_server.conf 
100 DBName=zabbix
116 DBUser=zabbix
124 DBPassword=zabbix
131 DBSocket=/tmp/mysql.sock
[root@zabbix ~]#systemctl start  zabbix-server.service 
[root@zabbix ~]#systemctl enable  zabbix-server.service

备注:检查端口是否开启,这里刚搭建好环境后zabbix_server服务端口一直起不来,需要重启一下服务器再检查端口就发现一切正常。

[root@zabbix ~]#netstat -lntup|grep zabbix_server
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      31922/zabbix_server 
tcp6       0      0 :::10051                :::*                    LISTEN      31922/zabbix_server 

3.7为Zabbix前端配置PHP

[root@zabbix ~]#vim /etc/httpd/conf.d/zabbix.conf 
php_value date.timezone Asia/Shanghai
[root@zabbix ~]#systemctl start  httpd
[root@zabbix ~]#systemctl enable  httpd
[root@zabbix ~]#netstat -lntup|grep httpd
tcp6       0      0 :::80                   :::*                    LISTEN      5853/httpd     

4、zabbix服务器web页面的注册:

4.1 先进行本地输入10.0.0.71/zabbix 进入登录页面:(此处的ip取决于自己服务器实际ip)

image.png

4.2 登录创建的数据库页面:

image.png

4.3 要是进行数据库迁移则需要找下图标识的路径,用于修改上图连接数据库配置:

image.png

4.4 需要输入zabbix服务的本地名,端口和服务器名称(自己随意取名):

image.png

4.5 zabbix登录用户名为:Admin,密码为:zabbix

image.png

4.6 对于zabbix中web界面的图形注释进行汉化:

在自己笔记本C:\Windows\Fonts路径下随意找自己喜欢的字体,将其复制到zabbix服务器的/usr/share/zabbix/assets/fonts路径下,并执行mv STZHONGS.TTF graphfont.ttf即可完成汉化工作。


image.png

4.7 通过以上所有步骤,一套zabbix开源环境就已经搭建好了。下面介绍agent客户端如何安装。

5、zabbix客户端agent,基于windows环境下的安装配置:

5.1 windows下的agent客户端下载(链接: https://www.zabbix.com/downloads/4.4.7/zabbix_agent-4.4.7-windows-amd64.zip),在D盘创建agent目录,把agent文件放进去,然后解压压缩文件,会出现bin和conf两个目录:

image.png

5.2 解压并修改conf目录下的zabbix_agentd.conf配置文件:

LogFile=d:\zabbix_agentd.log ##日志文件路径
Server=192.168.95.155 ##此处配置zabbix服务端IP
ServerActive=192.168.95.155 ##此处配置zabbix服务端IP
Hostname=DESKTOP-I1VOG18 ##客户端主机名。这里的主机名应该和zabbix web界面中创建主机时候填写的主机名一致。

5.3 安装agent服务并启动(必须用管理员方式运行CMD,要不会报错无法安装agent):

C:\Windows\system32>D:\agent\bin\zabbix_agentd.exe  -i -c D:\agent\conf\zabbix_agentd.conf   ##运行agent安装程序,你出现2条success成功语句
C:\Windows\system32>D:\agent\bin\zabbix_agentd.exe  -c D:\agent\conf\zabbix_agentd.conf  -s   ##启动agent程序,会在进程中看到agent进程

以上3步可以完成windows系统客户端agent服务安装。

5.4 扩展项(如何卸载agent,停止agent服务):

C:\Windows\system32>D:\agent\bin\zabbix_agentd.exe  -c D:\agent\conf\zabbix_agentd.conf  -x   ##停止agent服务,一般在修改完配置文件后需要停止再启动,配置文件就会生效
C:\Windows\system32>D:\agent\bin\zabbix_agentd.exe  -d    ##可以卸载掉安装的agent服务

6、zabbix客户端agent,基于CentOS7.X环境下的安装配置:

6.1 先在清华源找到我们需求环境下的下载源:

https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.4/rhel/7/x86_64/zabbix-agent-4.4.7-1.el7.x86_64.rpm

6.2 下载agent并安装:

[root@zabbix ~]#wget https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.4/rhel/7/x86_64/zabbix-agent-4.4.7-1.el7.x86_64.rpm
[root@zabbix ~]# ll
total 11436704
-rw-------.  1 root root        1676 Dec 13 14:17 anaconda-ks.cfg
-rw-r--r--.  1 root root      441936 Mar 23 17:42 zabbix-agent-4.4.7-1.el7.x86_64.rpm
[root@zabbix ~]# rpm -ivh zabbix-agent-4.4.7-1.el7.x86_64.rpm

6.3 修改agent配置文件

[root@zabbix ~]#vim  /etc/zabbix/zabbix_agentd.conf 
98 Server=192.168.95.155      ##zabbix服务端ip
139 ServerActive=192.168.95.155     ##zabbix服务端ip
150 Hostname=hostname    ##zabbix客户端主机名

6.4 重启agent服务,设置为开机自启动

[root@zabbix ~]#systemctl  start zabbix_agentd.service
[root@zabbix ~]#systemctl  enable  zabbix_agentd.service

7、zabbix客户端agent,基于RHEL6.X环境下的安装配置:

7.1 先在清华源找到我们需求环境下的下载源:

https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.4/rhel/6/x86_64/zabbix-agent-4.4.7-1.el6.x86_64.rpm

7.2 下载agent并安装:

[root@zabbix ~]#wget https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.4/rhel/6/x86_64/zabbix-agent-4.4.7-1.el6.x86_64.rpm
[root@zabbix ~]# ll
total 11436704
-rw-------.  1 root root        1676 Dec 13 14:17 anaconda-ks.cfg
-rw-r--r--.  1 root root      441936 Mar 23 17:42 zabbix-agent-4.4.7-1.el6.x86_64.rpm
[root@zabbix ~]# rpm -ivh zabbix-agent-4.4.7-1.el6.x86_64.rpm

7.3 修改agent配置文件

[root@zabbix ~]#vim  /etc/zabbix/zabbix_agentd.conf 
98 Server=192.168.95.155      ##zabbix服务端ip
139 ServerActive=192.168.95.155     ##zabbix服务端ip
150 Hostname=hostname    ##zabbix客户端主机名

7.4 重启agent服务,设置为开机自启动

[root@zabbix ~]#service  zabbix_agent   start
[root@zabbix ~]#chkconfig   zabbix_agent  on    ##开机自启
[root@zabbix ~]#chkconfig --list |grep zabbix_agent   ##检查是否开机自启

8、在zabbix的web服务页面,创建监控主机步骤:

步骤1:


image.png

步骤2:


image.png
步骤3:
image.png

步骤4:


image.png

9、增加企业微信报警功能,并在web界面中添加服务:

9.1 因为系统默认python不满足需求,先进行如下更新:

[root@zabbix ~]#cd /etc/yum.repos.d/
[root@zabbix /etc/yum.repos.d]#ll
total 40
-rw-r--r--. 1 root root 2523 Mar 25 18:32 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 Nov 23  2018 CentOS-CR.repo
-rw-r--r--. 1 root root  649 Nov 23  2018 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  314 Nov 23  2018 CentOS-fasttrack.repo
-rw-r--r--. 1 root root  630 Nov 23  2018 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 Nov 23  2018 CentOS-Sources.repo
-rw-r--r--. 1 root root 5701 Nov 23  2018 CentOS-Vault.repo
-rw-r--r--. 1 root root  664 Mar 25 18:32 epel.repo      
-rw-r--r--. 1 root root  696 Mar 25 19:02 zabbix.repo
注:确保必须要有epel.repo源。
[root@zabbix ~]#yum  install -y python2-pip
[root@zabbix ~]#pip install -i https://pypi.tuna.tsinghua.edu.cn/simple  requests

9.2 先检查报警脚本需要放置的路径:

[root@zabbix /tmp]# grep -Ev '^$|#'  /etc/zabbix/zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBSocket=/tmp/mysql.sock
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts      /报警脚本应放路径/
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1

9.3 把weixin.py脚本放在/usr/lib/zabbix/alertscripts路径下并给脚本添加x权限:

[root@zabbix ~]#cd /usr/lib/zabbix/alertscripts/
[root@zabbix /usr/lib/zabbix/alertscripts]#ll
total 4
-rw-r--r-- 1 root root 1275 Apr  8 10:21 weixin.py
[root@zabbix /usr/lib/zabbix/alertscripts]#chmod +x weixin.py
[root@zabbix /usr/lib/zabbix/alertscripts]#ll
total 4
-rwxr-xr-x 1 root root 1275 Apr  8 10:21 weixin.py

9.4 把weixin.py脚本中企业微信配置进行修改,如下:

image.png

9.5 手动测试,检查是否能够正常收发信息:

[root@zabbix /usr/lib/zabbix/alertscripts]#python weichat.py  dangfengchuilai 'zabbix'  '微信'

9.6 在web界面创建媒体类型:

image.png
image.png
image.png

9.7 如何创建动作,举例如下:

image.png
image.png
image.png
image.png

9.8 通过第9章的前7步即可完成微信报警功能。

10、zabbix服务端日常维护:

10.1 端口检查:

image.png

10.2 数据库检查:(zabbix数据库账号密码均为zabbix)

[root@zabbix ~]#mysql -uzabbix -pzabbix
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 161387
Server version: 5.7.26 MySQL Community Server (GPL)

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql[zabbix]>

10.3 web页面登录检查:

image.png
上一篇下一篇

猜你喜欢

热点阅读