美文网首页linux运维工程师必会
搭建4.4.7版本zabbix(基于mysql数据库)

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

作者: 苏水的北 | 来源:发表于2020-04-07 11:24 被阅读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

    相关文章

      网友评论

        本文标题:搭建4.4.7版本zabbix(基于mysql数据库)

        本文链接:https://www.haomeiwen.com/subject/yxkgphtx.html