建设网站的法律可行性分析,西安至成信息科技有限公司,家居网网页设计代码,qq公众号 wordpress文章目录 1.配置钉钉告警server 配置web界面创建媒介给用户添加媒介测试告警 实现故障自愈功能监控Javazabbix server 安装java gateway配置 Zabbix Server 支持 Java gateway使用系统内置模板监控 tomcat 主机 1.配置钉钉告警
server 配置
钉钉告警python脚本
脚本1
cd /… 文章目录 1.配置钉钉告警server 配置web界面创建媒介给用户添加媒介测试告警 实现故障自愈功能监控Javazabbix server 安装java gateway配置 Zabbix Server 支持 Java gateway使用系统内置模板监控 tomcat 主机 1.配置钉钉告警
server 配置
钉钉告警python脚本
脚本1
cd /lib/zabbix/alertscripts/cat python20
#!/usr/bin/python3
#coding:utf-8
import requests,json,sys,os,datetime
# 机器人的Webhook地址
webhook钉钉
usersys.argv[1]
textsys.argv[3]
data{msgtype: text,text: {content: text},at: {atMobiles: [# 在web端用户绑定媒介中通过指定用户注册是的手机号可以通知指定人员否则只发消息不艾特具体人user],isAtAll: False# 设置为1则所有人# isAtAll: 1}
}
headers {Content-Type: application/json}
xrequests.post(urlwebhook,datajson.dumps(data),headersheaders)
if os.path.exists(/var/log/zabbix/dingding.log):fopen(/var/log/zabbix/dingding.log,a)
else:fopen(/var/log/zabbix/dingding.log,w)
f.write(\n--*30)
if x.json()[errcode] 0:f.write(\nstr(datetime.datetime.now()) str(user) 发送成功\nstr(text))f.close()
else:f.write(\nstr(datetime.datetime.now()) str(user) 发送失败 \n str(text))
脚本2
cat ding
#!/usr/bin/env python3
#zabbix钉钉报警
import requests,json,sys,os,datetime
##刚刚保存的Webhook
webhook钉钉Webhook
usersys.argv[1] ##执行脚本时传递的第一个参数发送用户
textsys.argv[3] ##执行脚本时传递的第三个参数发送内容
data{msgtype: text,text: {content: text},at: {atMobiles: [user],isAtAll: False}
}
headers {Content-Type: application/json}
xrequests.post(urlwebhook,datajson.dumps(data),headersheaders)
if os.path.exists(/usr/lib/zabbix/logs/dingding.log):fopen(/usr/lib/zabbix/logs/dingding.log,a)
else:fopen(/usr/lib/zabbix/logs/dingding.log,w)
f.write(\n--*30)
if x.json()[errcode] 0:f.write(\nstr(datetime.datetime.now()) str(user) 发送成功\nstr(text))f.close()
web界面创建媒介
错误1 sh: 1: /usr/lib/zabbix/alertscripts/dingding.py: not found
单python3 文件名字 测试正常还以为ubuntu不支持结果多次测试是因为是在window复制创建的文件使用./文件名发现有其他字符^M,^M字符表示回车符它可能是由于使用Windows风格的换行符引起的。在Linux系统上需要使用Unix风格的换行符。
你可以尝试使用dos2unix命令来转换文件的换行符格式。打开终端并运行以下命令dos2unix python20rootubuntu20:/usr/lib/zabbix/alertscripts# ./dingding3.py
-bash: ./dingding3.py: /usr/bin/python3^M: bad interpreter: No such file or directory
给用户添加媒介 测试告警
实现故障自愈功能
当zabbix监控到指定的监控项异常时可以通过指定的操作使故障自动恢复以nginx服务为例,当nginx服务停止时,自动重启服务,实现故障自愈功能
agent添加配置
vim /etc/zabbix/zabbix_agentd.conf
AllowKeysystem.run[*] #允许所有远程命令zabbix5.0版本以上,代替EnableRemoteCommands,agent2默认没有此命令手工加入
#EnableRemoteCommands1 #开启远程执行命令,此指令在zabbix5.0版本以上淘汰
AllowRoot1 #开启此项,直接使用root进行远程管理,而无须对zabbix用户授权sudo权限,agent2不支持使用下面的对zabbix授权
UnsafeUserParameters1 #允许远程执行命令的时候使用不安全的参数(特殊字符串,如: \ *默认zabbix agent是使用zabbix用户启动的有些特权命令zabbix用户是没有权限执行会导致定义好 的自治愈策略因为权限拒绝为执行失败,所以需要事先对zabbix用户进行授权.
[rootcentos8 ~]#vim /etc/sudoers zabbix ALL(ALL) NOPASSWD: ALL #检查语法 [rootcentos8 ~]#visudo -c 重启 systemctl restart zabbix-agent2.service 服务端配置
创建动作 创建动作触发器
动作中添加
把nginx停止会自动执行systemctl start nginx命令故障恢复 主动模式 主动模式和被动模式相对agent来说的
ServerActive192.168.1.150 #向谁汇报开启主动模式 Hostname192.168.1.220 #agent中Hostname 此项必须和Zabbix Server中设置的主机名称相同不然采集不了数据,会报错找不到
监控项改为主动式
主动模式监控项
复制模板批量更新监控项为主动式
主机并联新的模板
问题1
2023/09/04 19:34:48.385426 [101] no active checks on server [192.168.1.150:10051]: host [zhujiming-192.168.1.220] not found
2023/09/04 19:36:49.387602 [101] no active checks on server [192.168.1.150:10051]: host [zhujiming-192.168.1.220] not found
2023/09/04 19:38:50.397644 [101] no active checks on server [192.168.1.150:10051]: host [zhujiming-192.168.1.220] not found
2023/09/04 19:40:51.382330 [101] no active checks on server [192.168.1.150:10051]: host [zhujiming-192.168.1.220] not found
界面查看数据没有更新查看日志agent配置文件中hostname和服务端页面的主机名称要一样问题2zbx是灰色但查看数据正常是因为这个主机的模版全是主动模式。server 不会向agent发添加其他被动模式模版即可
监控Java
Zabbix 不支持直接监控JAVA应用 如果要监控JAVA程序比如Tomcat等需要使用 Java gateway 做为代理,才能从JAVA应用中获取数据
Zabbix 监控JVM流程 zabbix-server 通知 zabbix-Java-Gateway需要获取监控主机的哪些监控项 Zabbix-Java-Gateway 通过 JMX 协议请求采集 Java进程数据 Java程序通过 JMX 协议返回数据给 zabbix-Java-Gateway zabbix-Java-Gateway 最终返回数据给 zabbix-server zabbix-server 对采集的JAVA 数据进行存储然后进行 Web 展示 192.168.1.250安装好javatomcat环境 Tomcat 开启 JMX 功能 192.168.1.250填本机ip #vim /usr/local/tomcat/bin/catalina.sh CATALINA_OPTS“$CATALINA__OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port12345 -Dcom.sun.management.jmxremote.authenticatefalse -Dcom.sun.management.jmxremote.sslfalse -Djava.rmi.server.hostname192.168.1.250” systemctl restart tomcat
[rootrocky8 ~]# ss -tnl|grep 12345 LISTEN 0 50 *:12345 :
zabbix服务端测试
rootubuntu20:~# java -jar cmdline-jmxclient-0.10.3.jar - 192.168.1.250:12345 Catalina:namehttp-nio-8080,typeThreadPool currentThreadCount09/04/2023 23:03:05 0800 org.archive.jmx.Client currentThreadCount: 10java线程数
java -jar cmdline-jmxclient-0.10.3.jar - 192.168.1.250:12345 Catalina:namehttp-nio-8080,typeThreadPool maxThreads
09/04/2023 23:07:41 0800 org.archive.jmx.Client maxThreads: 200zabbix server 安装java gateway
Java gateway 是一个独立于zabbix server和 zabbix agent的组件默认使用端口10052/tcp, 所以java gateway可以是单独的一台服务器但是也可以和zabbix server或者zabbix agent 共用一台服务器
apt -y install zabbix-java-gateway
配置 Zabbix Server 支持 Java gateway
zabbix修改添加配置 rootubuntu20:~# vi /etc/zabbix/zabbix_server.conf JavaGateway192.168.1.150 #指向JAVA gateway主机 StartJavaPollers10 #指定开启的进程数
使用系统内置模板监控 tomcat 主机
添加主机
添加java模版查看数据