zabbix 监控

zabbix

 

 

 #下载epel源

 #安装nginx

 #查看nginx版本

 

 

 

 

 

#!/bin/bash
#desc: zabbix通过stub_status模块监控nginx

HOST="127.0.0.1"
PORT="80"
URL_PATH="nginx_status"

active() {
    curl -s http://$HOST:$PORT/$URL_PATH | awk 'NR==1 {print $NF}'
}

accept() {
    curl -s http://$HOST:$PORT/$URL_PATH | awk 'NR==3 {print $1}'
}

handled() {
    curl -s http://$HOST:$PORT/$URL_PATH | awk 'NR==3 {print $2}'
}

request() {
    curl -s http://$HOST:$PORT/$URL_PATH | awk 'NR==3 {print $3}'
}

reading() {
    curl -s http://$HOST:$PORT/$URL_PATH | awk 'NR==4 {print $2}'
}

writing() {
    curl -s http://$HOST:$PORT/$URL_PATH | awk 'NR==4 {print $4}'
}

waiting() {
    curl -s http://$HOST:$PORT/$URL_PATH | awk 'NR==4 {print $6}'
}

checking() {
    pidof nginx | wc -w
}

case $1 in
active)
  active
   ;;
accept)
  accept
  ;;
handled)
   handled
  ;;
request)
   request
  ;;
reading)
  reading
  ;;
writing)
  writing
  ;;
waiting)
  waiting
  ;;
checking)
  checking
  ;;
*)
 echo "Usage $0 {active|accept|handled|request|reading|writing|waiting|checking}"
 exit 1
esac
exit 0

 

 

 

 

 

 

 #在zabbix配置中以键值队形式去定义一个监控脚本

 #重启zabbix-agent2

 #去服务端测试

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 #弄几台浏览器访问客户端地址

 #已经超过设置的最大数,报警过警戒线

 

自动发现于自动注册

 

 

 #去官网下载zabbix-agent2

 

 

 

 #开启zabbix-agent02服务,再查看下是否启动正常

 #服务端测试下

 

 #在服务端和客户端配置的host解析

 

 

 

 

 

 

 

 #主,克重启zabbix服务

 

 #服务端监控服务日志

 #等待时间有点长

 

 #日志显示出来

自动注册

 

 #勾选原有的客户端主机,点击 删除

 

 #过略注释行跟空行

 #重启服务

 

 

 

 

 

部署 zabbix 代理服务器

 #官网下载proxy

 

 

 

 #不是数据库yum‘源

 

 #开启数据库

 

 

 

 

 

 

 #导入数据库信息

 #修改配置文件

 

 

 

 #开启zabbix-proxy服务

 #在所有主机上配置hosts解析

 

 #删除原有客户端主机

 

 

 #在客户端修改agent2配置文件

 

 

 

 

 #客户端和代理服务器上重启服务

 #2已有proxy代理

 

部署 Zabbix 高可用集群

服务端配置

 #主节点配置

 

 

 

 #客户端配置

 

 

 #高可用停用

 #主服务器从其zabbix服务

 #高可用启用

 

 

Zabbix 监控 Windows 系统

 

 

 

 

 #配置网络

+

 #关闭防火墙

 #可以ping通

 

 

 

 #启用

 

Zabbix 监控 java 应用

 

 

 

CATALINA_OPTS="$CATALINA_OPTS \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=12345 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
-Djava.rmi.server.hostname=192.168.19.25"           #tomcat服务器地址

 

 

 

 

 

 

 

 

 

 #重启proxy服务

 

 

 

 #agent02上有JMX

 

 

 

Zabbix 监控 SNMP

#换成21服务器运行

 

 

 #安装snmp监控程序

 #修改snmp的配置文件

 #添加

 

 

 

 #服务端使用snmpwalk命令测试

–v 1|2c|3:指定SNMP协议版本,v2c通过团体名作为认证,v3通过用户名和密码认证
–c:指定团体名(设备间的暗号)
sysname:为 snmp 的 key,用于查看系统名称;SysDesc 用于查看系统信息

 

 

 #监控SNMP搭建完成

 

 

#zabbix 自动发现
zabbix_server 服务端主动发现zabbix_agent客户端
1)在[配置] - [自动发现]创建 发现规则 ,设置 IP范围 检查的键值system.uname
2)在[配置] - [动作] - [发现动作] 创建 动作,设置 动作条件 操作细节


#zabbix自动注册
zabbix_agent客户端主动找zabbix_server服务端注册
1)修改zabbix_agent配置文件,取消Hostname的注释
2)在[配置] - [动作] -[自动注册动作] 创建 动作,设置 动作条件 操作细节


#zabbix监控windows主机
在windows主机上安装windows版本的zabbix_agent 客户端应用,并配置指向zabbix_server/proxy

zabbix 监控 java应用
1)在java应用启动参数中添加开启JMX远程监控端口的参数配置

2)在zabbix_server/proxy 安装zabbix Java getway,并修改zabbix_server/proxy 的配置文件设置 javagetway的地址,startjavapollers 收集进程数
3)在zabbix服务端web管理页面[配置] -[主机] 添加 JMX 接口监控主机,默认端口12345

zabbix监控 支持SNMP协议的网络设备
在zabbix服务端web管理页面[配置] - [主机] 添加 SNMP 接口监控主机,默认端口161,并指定SNMP协议版本(通常是V2)和网络设备团体名(网络设备唯一标识,可在网络设备的系统界面中查到)


zabbix 组件 工作原理 与prometheus的区别
 自定义监控模板
 配置邮件告警
 自动发现,自动注册
 监控指标(包含系统方面的,网站方面的,数据库方面的,消息队列方面的)
 SNMP协议 是什么?zabbix什么时候会用到SNMP协议来监控

 

posted @ 2024-01-16 09:03  citywalk  阅读(47)  评论(0)    收藏  举报