• CentOS7下搭建zabbix监控(三)——Zabbix监控服务配置


    CentOS7下搭建zabbix监控(一)——Zabbix监控端配置

    CentOS7下搭建zabbix监控(二)——Zabbix被监控端配置

    (1).配置Zabbix监控Apache服务

      主机名:youxi2  IP地址:192.168.5.102

      注意:需要找一个合适的Apache监控模板

     1)安装httpd,这里为了简化步骤直接yum安装

    [root@youxi2 ~]# yum -y install httpd
    [root@youxi2 ~]# systemctl enable httpd  //设置开机自启
    Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.

     2)开启Apache的server-status,并重启httpd

    [root@youxi2 ~]# vim /etc/httpd/conf/httpd.conf
    EnableSendfile on  //这是第348行,在这行下面添加如下标签
    <location /server-status>
      SetHandler server-status
      Order allow,deny
      Allow from localhost 192.168.5.0/24
    </location>
    [root@youxi2 ~]# systemctl restart httpd

      还可以在/etc/httpd/conf.d/目录下创建一个.conf格式的文件,将配置写入其中。最后重启httpd。

      注意:有时候127.0.0.1不生效会导致zapache不支持,可以将IP地址改成all尝试。

     3)如果防火墙是打开的,记得添加端口号

    [root@youxi2 ~]# firewall-cmd --permanent --zone=public --add-port=80/tcp
    success
    [root@youxi2 ~]# firewall-cmd --reload 
    success
    [root@youxi2 ~]# firewall-cmd --permanent --zone=public --list-ports
    10050/tcp 80/tcp
    

     4)Web验证Apache打开server-status

     5)下载模板文件

      模板文件需要在Windows和CentOS上各留一份,地址:https://github.com/lorf/zapache/archive/master.zip。然后解压

      由于下载的是zip格式文件,所以需要unzip程序

    [root@youxi2 ~]# yum -y install unzip
    

      安装完成后解压文件

    [root@youxi2 ~]# unzip zapache-master.zip 
    Archive:  zapache-master.zip
    24a764b2e224f9b8d0a6bc94dcadd7568b2fe650
       creating: zapache-master/
      inflating: zapache-master/README.md  
      inflating: zapache-master/httpd-server-status.conf.sample  
      inflating: zapache-master/userparameter_zapache.conf.sample  
      inflating: zapache-master/zapache  
      inflating: zapache-master/zapache-template-active.xml  
      inflating: zapache-master/zapache-template.xml
    [root@youxi2 ~]# ls zapache-master/
    httpd-server-status.conf.sample    zapache
    README.md                          zapache-template-active.xml
    userparameter_zapache.conf.sample  zapache-template.xml
    

      文件说明:

       httpd-server-status.conf.sample  用于配置httpd开启server-status

       zapache、userparameter_zapache.conf.sample  关键的脚本和配置文件

       zapache-template-active.xml、zapache-template.xml  模板文件(active是动作,是触发器模板)

     6)修改配置文件和脚本

    [root@youxi2 ~]# cp zapache-master/zapache /usr/local/bin/  //拷贝脚本
    [root@youxi2 ~]# chmod +x /usr/local/bin/zapache  //给脚本添加执行权限
    [root@youxi2 ~]# cp zapache-master/userparameter_zapache.conf.sample /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_zapache.conf  //拷贝配置文件,并重命名
    [root@youxi2 ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_zapache.conf
    UserParameter=zapache[*],/usr/local/bin/zapache $1  //指向脚本文件
    [root@youxi2 ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
    # Include=/usr/local/etc/zabbix_agentd.userparams.conf  //第263~265行
    Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/  //去除注释,修改并启用该目录
    # Include=/usr/local/etc/zabbix_agentd.conf.d/*.conf
    

     7)Web端导入模板

       A.选择配置中的模板,点击导入

       B.选择导入文件,点击导入,就成功导入这个模板了。

     8)Web端关联模板(给现有的主机添加新的模板)

       A.选择配置中的主机,点击任意主机名称

       B.选择模板,选中Template App Apache Web Server zapache模板,添加并更新

       C.之后可以在监测的图形中选择Apache相关检测项

        也可以在监测中的最新数据选择Apache相关监控项构成图形

    (2).配置Zabbix监控Mysql服务

      主机:youxi2  IP地址:192.168.5.102

      和Apache一样需要先找一个监控模板,不过Zabbix默认提供了Mysql的监控模板。

     1)安装Mysql

      具体查看:二进制包安装Mysql

      mysql安装目录/usr/local/mysql/,数据目录/usr/local/mysql/data/,mysql的root用户密码为123456。启动并设置开机自启。

     2)数据库用户授权

       创建用户和授予usage权限是一样的效果。

    [root@youxi2 ~]# mysql -uroot -p123456
    mysql> create user 'zabbix'@'192.168.5.%' identified by '123456';  //创建用户zabbix
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> show grants for 'zabbix'@'192.168.5.%';  //查看用户zabbix的权限
    +----------------------------------------------+
    | Grants for zabbix@192.168.5.%                |
    +----------------------------------------------+
    | GRANT USAGE ON *.* TO 'zabbix'@'192.168.5.%' |  //usage表示只有登录和查询information_schema的权限
    +----------------------------------------------+
    1 row in set (0.00 sec)
    
    mysql> grant usage on *.* to 'zabbix2'@'192.168.5.%' identified by '123456';  //授权zabbix2
    Query OK, 0 rows affected, 1 warning (0.00 sec)
    
    mysql> show grants for 'zabbix2'@'192.168.5.%';  //查看用户zabbix2的权限
    +-----------------------------------------------+
    | Grants for zabbix2@192.168.5.%                |
    +-----------------------------------------------+
    | GRANT USAGE ON *.* TO 'zabbix2'@'192.168.5.%' |
    +-----------------------------------------------+
    1 row in set (0.00 sec)
    
    mysql> flush privileges;  //刷新
    Query OK, 0 rows affected (0.00 sec)
    

     3)修改配置文件,并重启Zabbix Agent

    [root@youxi2 ~]# cp /usr/local/src/zabbix-3.4.3/conf/zabbix_agentd/userparameter_mysql.conf /usr/local/zabbix/etc/zabbix_agentd.conf.d/
    [root@youxi2 ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf  //HOME参数的路径必须与下方编辑的.my.cnf路径必须一致
    UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/usr/local/zabbix/etc mysql -N | awk '{print $$2}'  //第5行
    UserParameter=mysql.size[*],bash -c 'echo "select sum($(case "$3" in both|"") echo "data_length+index_length";; data|index) echo "$3_length";; free) echo "data_free";;
     esac)) from information_schema.tables$([[ "$1" = "all" || ! "$1" ]] || echo " where table_schema="$1"")$([[ "$2" = "all" || ! "$2" ]] || echo "and table_name="$2"");"
     | HOME=/usr/local/zabbix/etc/ mysql -N'  //第15行
    UserParameter=mysql.ping,HOME=/usr/local/zabbix/etc mysqladmin ping | grep -c alive  //第17行
    [root@youxi2 ~]# vim /usr/local/zabbix/etc/.my.cnf  //配置数据库与zabbix连接文件。与上方userparameter_mysql.conf修改路径保持一致
    #Zabbix Agent
    [mysql]
    host=localhost
    user=zabbix
    password=123456
    socket=/usr/local/mysql/mysql.sock
    
    [mysqladmin]
    host=localhost
    user=zabbix
    password=123456
    socket=/usr/local/mysql/mysql.sock
    [root@youxi2 ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
    # Include=/usr/local/etc/zabbix_agentd.userparams.conf  //第263~265行,三个里面有且仅有一个开启
    Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/  //去除注释,修改并启用该目录
    # Include=/usr/local/etc/zabbix_agentd.conf.d/*.conf
    [root@youxi2 ~]# /etc/init.d/zabbix_agentd restart  //重启 Restarting zabbix_agentd (via systemctl): [ 确定 ]

     4)在监控端测试

      如果提示如下错误,需要到被监控端(youxi2)将mysql和mysqladmin做一个软链接到/usr/bin下(明明有环境变量,也可以在youxi2上直接调用,但它就不认)

    [root@youxi1 ~]# /usr/local/zabbix/bin/zabbix_get -s192.168.5.102 -p10050 -k mysql.status[Uptime]
    sh: mysql: 未找到命令
    [root@youxi1 ~]# /usr/local/zabbix/bin/zabbix_get -s192.168.5.102 -p10050 -k mysql.ping
    sh: mysqladmin: 未找到命令
    

      做一个软链接

    [root@youxi2 ~]# ln -s /usr/local/mysql/bin/mysql /usr/bin/
    [root@youxi2 ~]# ln -s /usr/local/mysql/bin/mysqladmin /usr/bin/ 
    

      再次测试成功

    [root@youxi1 ~]# /usr/local/zabbix/bin/zabbix_get -s192.168.5.102 -p10050 -k mysql.status[Uptime]
    414
    [root@youxi1 ~]# /usr/local/zabbix/bin/zabbix_get -s192.168.5.102 -p10050 -k mysql.ping
    1

     5)Web端关联模板

      A.选择配置中的主机,点击任意主机名称

      B.选择模板,选中Template DB MySQL模板,添加并更新

      C.之后就可以在监测中查看了。

  • 相关阅读:
    implementaion bottle session with beaker
    [梦]20050802
    网站更新部署20100912
    Cherokee不值得推荐,你还是可以看一看
    最简单方法远程调试Python多进程子程序
    nginx相关的问题
    本地配置host解析的问题
    base target问题,
    在asp.net中自动合并小图片并使用css sprite显示出来
    html编辑器
  • 原文地址:https://www.cnblogs.com/diantong/p/11139790.html
Copyright © 2020-2023  润新知