zabbix自定义监控

root
233
文章
0
评论
2020年1月21日23:32:23 评论 2812字阅读9分22秒

zabbix自定义监控

只要能用命令取出来的东西都可以进行监控

当zabbix服务端需要同时监控多个设备时,监控项过多会导致,监控服务器负载高,所以我们要进行自定义监控,把有些不常用的监控项取消掉

创建key键值

  • key文件要放在/etc/zabbix/zabbix_agentd.d/目录下,我们创建一个

注意:

/etc/zabbix/zabbix_agentd.d/目录下.conf类似于nginx,在zabbix2.x版本需要/etc/zabbix/zabbix_agent.conf/里打开include。注释取消了才能生效

  • 在监控端创建键值,这里我写一个简单的,主要是方法
  • [root@web01 ~]#vim /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
    在最下方添加键值
    UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin ping | grep -c alive
    UserParameter=mysql.version,mysql -V
    UserParameter=user.login,who|wc -l
    
    UserParameter=名称,命令或者脚本
    
    [root@web01 zabbix_agentd.d]# systemctl restart zabbix-agent.service 
    
  • 在zabbix服务端进行测试
  • [root@zabbix tool]# zabbix_get -s 172.16.1.7 -p10050 -k user.login
    3
    
    成功

zabbix服务端进行配置键值

  • 创建模板

不要忘记把创建的模板和主机进行关联,添加模板

  • 配置主机(应用集,监控项,触发器}

添加触发器

然后添加图形就行了

nginx状态监控用zabbix页面展示

那首先就是在nginx上开启状态监控

server {
        listen 80;
        server_name 192.168.5.7;
                location / {
                root /code/wordpress/wordpress;
                index index.php index.html;
                }
        location /status {
                stub_status;
                access_log off;
                allow 172.16.1.0/24;
                deny all;
        }
        location ~ \.php$ {
                root /code/wordpress/wordpress;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
}
看一下是否成功
[root@web01 zabbix_agentd.d]# curl 172.16.1.7/status
Active connections: 2 
server accepts handled requests
 128 128 372 
Reading: 0 Writing: 1 Waiting: 1 

用命令把我们想要的信息取出来

Active connections: 当前活动的连接数

[root@web01 /]# curl -s 172.16.1.7/status|awk 'NR==1{print $NF}'
1

Reading:  读取报文的数量

[root@web01 /]# curl -s 172.16.1.7/status|awk 'END{print $2}'
0

Writing:  响应报文的数量

[root@web01 /]# curl -s 172.16.1.7/status|awk 'END{print $4}'
1

Waiting:  队列,要处理报文进行保存到队列

[root@web01 /]# curl -s 172.16.1.7/status|awk 'END{print $6}'
0

组合成一个脚本

[root@web01 /]# vim status_nginx.sh
#!/bin/bash
case "$1" in
  Active )
        curl -s 172.16.1.7/status|awk 'NR==1{print $NF}'
        ;;
  Reading )
        curl -s 172.16.1.7/status|awk 'END{print $2}'
        ;;
  Writing )
        curl -s 172.16.1.7/status|awk 'END{print $4}'
        ;;
  Waiting )
        curl -s 172.16.1.7/status|awk 'END{print $6}'
        ;;
esac

测试一下

[root@web01 /]# sh status_nginx.sh Waiting
0

创建自定义key开始写的步骤:

[root@web01 ~]#vim /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
在最下方添加键值
UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin ping | grep -c alive
UserParameter=mysql.version,mysql -V

UserParameter=nginx.status[*],sh /nginx_status.sh "$1"

意义表示:
UserParameter=nignx.status[read],sh /nginx_status.sh read

这种是一个参数,要是两个或者多个参数:
UserParameter=nginx.status[*],sh /nginx_status.sh "$1" "$2"
意义表示:
UserParameter=nignx.status[read,xxx] ,sh/nginx_status.sh read xxx

改完之后重启zabbix服务

[root@web01 /]# systemctl restart zabbix-agent.service

在zabbix服务端进行键值检测

[root@zabbix tool]# zabbix_get -s 172.16.1.7 -p10050 -k nginx.status[Active]
1
[root@zabbix tool]# zabbix_get -s 172.16.1.7 -p10050 -k nginx.status[Reading]
0
[root@zabbix tool]# zabbix_get -s 172.16.1.7 -p10050 -k nginx.status[Writing]
1
[root@zabbix tool]# zabbix_get -s 172.16.1.7 -p10050 -k nginx.status[Waiting]
0

现在在zabbix服务端web上配置

因为都是web服务器主机就用原来了,这里只需改:

应用集

监控项

 

我写的这个脚本有四个选项参数,所以就要创建四个

这里不需要触发器,直接图形

 

完成了

继续阅读
weinxin
我的微信
这是我的微信扫一扫
  • 文本由 发表于 2020年1月21日23:32:23
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
实现zabbix的报警功能 zabbix

实现zabbix的报警功能

实现zabbix的报警功能--触发器---报警动作 报警的方式: 页面提示信息报警 页面声音提示报警 邮件信息报警 微信报警 电话报警 触发器是通过表达式来实现报警的 页面信息提示报警,和声音报警示例...
配置zabbix数据库环境相关问题 zabbix

配置zabbix数据库环境相关问题

配置zabbix数据库环境相关问题 修改php.ini文件不生效出现报错 明明已经修改了,/etc/php.ini文件,还是不能生效,计算机骗我了???我去排了一下错 解决方法: 首先根目录新建xx....
LNMP安装部署zabbix服务端 zabbix

LNMP安装部署zabbix服务端

LNMP安装部署zabbix zabbix的安装坑太多,各种报错,昨天升级了php73,安装zabbix各种缺少php的依赖,明明rpm包都有,就是提示缺这缺那,导致我把php整个卸载了,重新下载了一...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: