转自@twt社区,作者:Zabbix大叔_乐维。
前言
在过来的几年里,开源产品和商业监控应用程序产生了爆炸式增长,涌现出了一批优良且利用宽泛的监控工具,如Zabbix、Prometheus等,零碎运维人员须要把握这些新工具,以及解决这些工具在日常利用中的各种故障、难题等。咱们将继续在社区和公众号中公布同行分享的相干实用常识和技巧。
一、如何在 Zabbix 执行近程主机的脚本或指令?
场景需要:
1、咱们能够通过zabbix_server的web界面的脚本性能实现对曾经装置了zabbix_agent主机实现近程关机而不必手动登陆而后输出关机指令
2、咱们能够通过zabbix_server的web界面的脚本性能实现某个服务的启动敞开和重启
试验配置过程:
1、创立脚本 关上zabbix_server的web配置界面,抉择治理,接着抉择蓝色导航条中的脚本选项,最初点击创立脚本。
脚本名称:自定义
类型:如果是window或者linux主机类型都是抉择脚本。IPMI类型(暂且不探讨)
执行在:有三种类型,
(1)zabbix客户端,阐明创立的脚本会在装置了zabbix客户端的主机上运行。
(2) zabbix_server(代理),阐明脚本会在zabbix代理上执行。
(3)zabbix服务器,阐明脚本会在服务器下面执行。
命令:能够填系统命令,或者某个脚本的绝对路径
要求的主机权限:抉择默认就好了
创立一个显示主机ip的脚本
重要:脚本创立实现后,必须到zabbix_agent的配置文件中开启容许zabbix客户端执行近程命令
把默认的EnableRemoteCommands=0改成EnableRemoteCommands=1
重启zabbix客户端,使配置失效
脚本创立实现后,咱们去到zabbix_server的web界面中的监测,而后找到蓝色导航条中的最新数据,找一台曾经曾经装置了zabbix客户端的window主机执行。因为ifconfig是Linux主机的系统命令,所以测试只能找装置了zabbix客户端的Linux主机测试。
而后在主机列中,鼠标左键一下主机名,就会呈现一些咱们自定义和内置的脚本。显示IP的脚本就是咱们方才创立的。
执行后果:
失常的显示出装置了zabbix客户端的linux主机的ip
原文地址:http://www.talkwithtrend.com/Article/247577
二、用 Zabbix 监控网站的访问量
需要:监控网站pv和uv的总量和5分钟内的pv和uv的增量
1. PV、UV是什么?
UV:独立访客,每个独立上网电脑视为一位访客,一天之内网站的访客数量
PV:访问量,页面浏览量或者点击量,用户每拜访一次记录一次
2. 依据的拜访日志统计网站PV 和UV总量
[root@server-web scripts]# cd /usr/local/zabbix/scripts/
[root@server-web scripts]# cat pvuv_number.sh
/bin/bash
desc: used nginx pv and uv
uv_number(){
cat /usr/local/nginx/logs/access.log |awk '{print $1}'|sort|uniq|wc -l
}
pv_number(){
cat /usr/local/nginx/logs/access.log |awk '{print $7}'|wc -l
}
case $1 in
uv|UV)
uv_number;
;;
pv|PV)
pv_number;
;;
esac
exit 0
[root@server-web scripts]# chmod 755 pvuv_number.sh
[root@server-web scripts]# chown zabbix:zabbix pvuv_number.sh
[root@server-web scripts]# chown zabbix:zabbix pvuv_number.sh
[root@server-web scripts]# vim /usr/local/zabbix/etc/zabbix_agentd/nginx.conf
[root@server-web scripts]# chmod 755 /usr/local/zabbix/etc/zabbix_agentd/nginx.conf
[root@server-web scripts]# chown zabbix: /usr/local/zabbix/etc/zabbix_agentd/nginx.conf
3. 制作模板
3.1 增加PV的总量
3.2 增加5分钟内访问量 #工夫抉择5分钟,而后在依据zabbix的简略更改的性能获取5分钟内的增量。
3.3 UV依据PV的相似
4. 实现成果
原文地址:http://www.talkwithtrend.com/Article/247773
三、Zabbix触发器配置指定失效星期
剖析:心愿在星期一时某一监控阈值在固定较高的位子,其余工夫则默认该监控阈值处在一个较低的固定地位。
上面以监控某一台主机的CPU使用率为例:
1、去到某一主机的触发器配置外面,找到原有的CPU使用率告警触发器。如图1.1.
2、进行入下图2.1配置。
3、进行下图3.1、3.2配置。
4、调整结束,点击“更新”如图4.1。
框内的表达式示意“CPU总使用率继续3分钟大于95%且为周一时” 触发重大告警。
5、另外,还要配置多一条针对该监控项的触发器,从新关上该触发器,点击“克隆”,如图5.1、图5.2.
图5.2中的表达式书写办法与后面差不多,只是运算符号由原来的“=”,改为”<>”,示意不等于,即是非周一。联合全段表白的内容为“在非周一时段,CPU使用率继续三分钟大于65%”。
之后间接点击增加,即实现配置。
原文地址:http://www.talkwithtrend.com/Article/247737
四、如何通过bat脚本与zabbix_sender实时监控利用过程是否正在运行?
作者:刘俊源
为什么要应用zabbix_sender?
zabbix获取数据有超时工夫,如果一些数据须要执行比拟长的工夫能力获取的话,那么zabbix会出现异常,思考到这种状况,zabbix减少了Trapper性能,客户端本人提交数据给zabbix,这个通道便是trapper。
思路解析:在window主机上,编写一个每隔5秒就会执行tasklist查看过程的bat脚本,如果该脚本找到了指定的过程就通过zabbix_sender发送“is running”到zabbix_server服务器,此时对应的zabbix_trapper(zabbix采集器)监控项就会获取到“is running”这个最新的数据。如果找不到过程的话,就通过zabbix_sender发送“not running”到zabbix_server服务器,此时zabbix_trapper(zabbix采集器)监控项就会获取到“not running”这个最新的数据。最初还要给这个监控利用过程的服务器设置一个触发器,如果触发器的值等于not running就触发告警。
1. 首先咱们要筹备一个监控利用过程的批处理脚本(bat脚本)
@echo off
if "%1" == "h" gotobegin
mshtavbscript:createobject("wscript.shell").run("%~nx0h",0)(window.close)&&exit
:begin
:start
ping -n 5 127.0.0.1>nul
tasklist|findstr "chrome.exe"
if %errorlevel% == 0 (
"C:ProgramFilesZABBIX_AGENT3binwin64zabbix_sender.exe" -s"zabbix-server" -z 192.168.74.128 -k "test" -o "isrunning"
) else (
"C:ProgramFilesZABBIX_AGENT3binwin64zabbix_sender.exe" -s"zabbix-server" -z 192.168.74.128 -k "test" -o "notrunning"
)
goto start
脚本解析:
@echo off 作用是敞开回显性能。如果没有此代码,第三行的ping –n 5 127.0.0.1>nul这个命令就会显示到cmd控制台。
if "%1" == "h" gotobegin
mshtavbscript:createobject("wscript.shell").run("%~nx0h",0)(window.close)&&exit
:begin
这段代码的作用是把bat脚本放到后盾运行
Ping –n 5 127.0.0.1>nul 这句代码的意思是ping本地地址,有5条显示记录(如果要每隔十秒或者几十秒执行脚本,能够批改-n前面的参数ping -n 前面的数字越大,脚本执行的距离越长),而后把ping的后果重定向到nul就是不会输入内容到cmd控制台,(Ping –n 5127.0.0.1>nul与goto start这句语句联合,实现每5秒执行一次这个脚本。)
Tasklist|findstr “chrome.exe”这句代码的作用是列出以后运行的过程,而后通过findstr工具查看chrome.exe程序有没有运行
%ERRORLEVEL% 是批处理脚本的全局变量,返回上一条命令的后果,如果上一条命令执行胜利就会返回0,否则返回1.
Goto start 作用是跳转到start函数块执行函数里的命令。函数块后面要以冒号结尾,第二行的start后面要加冒号
(装置window版本的zabbix_agent就会附带zabbix_sender)
zabbix_sender用法
zabbix_sender –s “zabbix_server的主机名”-z “zabbix_server的IP”-k “键值名”-o “自定义发送的音讯”
"C:ProgramFilesZABBIX_AGENT3binwin64zabbix_sender.exe" -s"zabbix-server" -z 192.168.74.128 -k "test" -o "isrunning" 这条命令是如果存在指定的过程,就发送is running
"C:ProgramFilesZABBIX_AGENT3binwin64zabbix_sender.exe" -s "zabbix-server"-z 192.168.74.128 -k "test" -o "not running" 这条命令是如果不存在指定的过程,就发送not running
(特地留神:为了获取到最新数据,所以这两个命令的键值必须应用雷同名称的键值“test”)
2.在zabbix_server界面创立trapper监控项
测试成果:
Chorme.exe程序运行,chorme.exe运行状态监控项获取到“is running”
Chorme.exe程序没有运行,chorme.exe运行状态监控项获取到“not running”
3.配置触发器,如果chorme.exe服务没有运行就要告警
实际效果,手动敞开chorme.exe服务,触发告警
原文地址:http://www.talkwithtrend.com/Artic