Zabbix

监控系统介绍

监控系统功能

在这里插入图片描述

  • 数据收集:客户端、SNMP协议、自定义插件等
  • 数据展示:人难以通过原始数据发现问题,图形化展示很有必要,可以直观地从图形中发现数据的变化趋势。
  • 告警:是监控的重要功能。包含告警策略(基于规则)、告警发送。每个告警都会存在历史事件中,便于后期问题排查,以及统计分析告警的趋势
  • 报表:对一段时间的监控和告警数据进行分析,为运维和研发提供优化的方向。
  • 使用监控系统的用于来自不同的部门,关心的数据也是不同的,所以统一认证及权限管理也是监控系统的基本功能之一。

监控系统组成

在这里插入图片描述
Cacti,基于SNMP和RRDTool的网络流量监控分析的系统,RRDTool是用来处理时间序列数据的套件

监控系统趋势

在这里插入图片描述

zabbix发展

两个特点:1.监控任何东西,设备、系统、应用、服务和资源。网络、服务器、云、应用、服务;2.企业级。可以无限扩展,分布式部署,高可用,注重安全。
由前端、服务端、代理端、客户端、Java监控网关组成

zabbix 4.0功能

数据收集

通过agent客户端来收集数据,客户端支持多平台部署。zabbix客户端占用的系统资源很少,可以获取CPU、内存、网卡、磁盘、日志等信息。对于无法安装客户端的设备,如网络设备,zabbix支持通过SNMP(简单网络协议)获取监控数据,还可以监控打印机、存储、UPS,基本只要联网的设备都可以通过SNMP监控。也支持通过IPMI获取硬件的温度,风扇,硬盘,电源电压等(IPMI智能平台管理接口,是一个开放的硬件接口标准,通过IPMI不仅可以获取监控数据,也可以管理硬件设备,重启,关机,获取硬件日志等)。有些服务不支持客户端安装,也不支持SNMP,可通过zabbix自带的检测进行监控,支持TCP,ICMP,SSH,Telnet检测方式。如果有特殊需求,zabbix还支持自定义监控,通过shell,python,ruby,perl,powershell任何可执行的脚本收集监控数据。
默认Zabbix提供URL监控,可以使用该功能监控线上的业务是香郦常,易常响应或者没有四配的关键字及时告警

数据展示

图表及监控大屏
网络拓扑图
幻灯片图表
图片展示插件

故障检测

zabbix支持8种运算符。29个函数可以任意组合使用。完全可以满是我们的告警阈值设置需求。
故障预警
故障规则和恢复规则独立
多个告警规则组合
与历史数据对比分析告警
支持数据波动规则
告警依赖关系

zabbix架构

在这里插入图片描述

zabbix server组成

在这里插入图片描述

zabbix基本术语

组件功能

frontend 前端
Zabbix API Zabbix的接口
Zabbix Server Zabbix服务端
Zabbix Agent Zabbix客户端
Zabbix Proxy Zabbix代理
Network discovery 网络自动发现
Active agent auto-registration 主动Agent自动注册
Low-level discovery 低级自动发现

监控收集

host 主机
host group 主机组
item 监控项
value preprocessing 预处理
template 模板
application 应用
web scenario web场景
Macros 宏

数据展示

图表 graph
聚合图表 screen
拓扑图 maps
Slide shows 幻灯片演示

告警相关

Trigger 触发器
event 事件
异常状态 problem
OK 正常状态
action 操作
escalation 升级
media 媒介
notification 通知
remote command 远程命令
Maintenance 维护模式

认证和权限

User 用户
User Group 用户组
permission 权限
User Type 用户类型

使用容器安装zabbix

mysql:
docker run --name mysql-server -t -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="123456" -e MYSQL_ROOT_PASSWORD="123456" -p 3311:3306 -d mysql:5.7 --character-set-server=utf8 --collation-server=utf8_bin

版本改成了5.7.32

docker run --name zabbix-java-gateway -t -d zabbix/zabbix-java-gateway:latest

docker run --name zabbix-server-mysql -t -e DB_SERVER_HOST="mysql01" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="123456" -e MYSQL_ROOT_PASSWORD="123456" -e ZBX_JAVAGATEWAY="zabbix-java-gateway" --link mysql01:mysql --link zabbix-java-gateway:zabbix-java-gateway -p 10051:10051 -d zabbix/zabbix-server-mysql:latest

docker run --name zabbix-server-mysql -t -e DB_SERVER_HOST="mysql-server" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="123456" -e MYSQL_ROOT_PASSWORD="123456" -e ZBX_JAVAGATEWAY="zabbix-java-gateway" --link mysql-server:mysql --link zabbix-java-gateway:zabbix-java-gateway -p 10051:10051 -d zabbix/zabbix-server-mysql:latest

docker run --name zabbix-server-mysql -t -v /home/root123/sunjiajie/dockerdata/zabbix-server/zabbix_server.conf:/etc/zabbix/zabbix_server.conf -e DB_SERVER_HOST="106.14.99.71" -e DB_SERVER_PORT=3312 -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="123456" -e MYSQL_ROOT_PASSWORD="123456" -e ZBX_JAVAGATEWAY="zabbix-java-gateway" --link zabbix-java-gateway:zabbix-java-gateway -p 10051:10051 -d zabbix/zabbix-server-mysql:latest

docker run --name zabbix-server-mysql -t -v /home/root123/sunjiajie/dockerdata/zabbix-server/zabbix_server.conf:/etc/zabbix/zabbix_server.conf -e DB_SERVER_HOST="mysql-server" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="123456" -e MYSQL_ROOT_PASSWORD="123456" -e ZBX_JAVAGATEWAY="zabbix-java-gateway" --link mysql-server:mysql --link zabbix-java-gateway:zabbix-java-gateway -p 10051:10051 -d zabbix/zabbix-server-mysql:latest

docker run --name zabbix-web-nginx-mysql -t -e DB_SERVER_HOST="mysql01" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="123456" -e MYSQL_ROOT_PASSWORD="123456" --link mysql01:mysql --link zabbix-server-mysql:zabbix-server -p 8181:8080 -d zabbix/zabbix-web-nginx-mysql:latest

docker run --name zabbix-web-nginx-mysql -t -e DB_SERVER_HOST="mysql-server" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="123456" -e MYSQL_ROOT_PASSWORD="123456" --link mysql-server:mysql --link zabbix-server-mysql:zabbix-server -p 8181:8080 -d zabbix/zabbix-web-nginx-mysql:latest

docker run --name zabbix-web-nginx-mysql -t -e DB_SERVER_HOST="106.14.99.71" -e DB_SERVER_PORT=3312 -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="123456" -e MYSQL_ROOT_PASSWORD="123456" --link zabbix-server-mysql:zabbix-server -p 8181:8080 -d zabbix/zabbix-web-nginx-mysql:latest
登录网页: Admin  zabbix

docker run --name zabbix-agent -e ZBX_HOSTNAME="Zabbix server" -e ZBX_SERVER_HOST="zabbix-server-mysql" --link zabbix-server-mysql:zabbix-server -d zabbix/zabbix-agent:latest
报错:找不到agent,需要改ip地址。
docker inspect zabbix-agent | grep IPAddress  改成容器的ip地址

图表中文乱码解决方法:

准备好可以显示的中文字体,使用ssh文件传输协议上传至服务器。
将字体文件复制到容器:
docker cp ./simhei.ttf zabbix-web-nginx-mysql:/usr/share/zabbix/assets/fonts/

使用最高权限进入zabbix-web容器
sudo docker exec -it -u root zabbix-web-nginx-mysql /bin/bash

备份原先字体,建立软链接:
mv DejaVuSans.ttf DejaVuSans.ttf.bak
ln -s simhei.ttf DejaVuSans.ttf

刷新页面

注意:监控宿主机,需要修改配置:configuration -> hosts -> zabbix server ,改成zabbix-agent镜像的ip地址

  • 查询镜像ip地址:docker inspect zabbix-agent | grep IPAddress

4.1 主机监控部署

IPMI

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1、确认服务器端zabbix server是否启用了IPMI支持(通过启动日志查看。)
在这里插入图片描述

2、配置IPMI Poller的进程,安装IPMI Poller的客户端,用于验证到被监控设备的IPMI访问数据情况

  • 编辑zabbix的配置文件,重启zabbix server:
    vim /etc/zabbix/zabbix .conf
    StartPollers=50
    StartIPMIPollers=5
    查看进程是否开启
    ps ax|grep -i IPMI
  • 确认zabbix server端是否已经安装了IPMI Tool
    which ipmi
    linux 查找软件命令:apt-cache search ipmi

3、ipmi使用

  • ubuntu 安装ipmitool
apt-cache search ipmi
apt-get install ipmitool
apt-get install openipmi
  • 查看进程是否开启:lsmod | grep ^ipmi
  • 加载模块:
modprobe ipmi_watchdog
modprobe ipmi_poweroff
modprobe ipmi_devintf
modprobe ipmi_si  加载该模块如果没有不影响ipmi的使用(与系统版本有关)
modprobe ipmi_msghandler  加载该模块如果没有不影响ipmi的使用
  • 注意:使用ipmitool获取数据的前提是BMC接口已连接了网线!!
  • BMC网络配置:
ip设置为静态:
sudo ipmitool lan set 8 ipsrc static

配置ip地址(注意:需要与服务器地址在同一网段下)sudo ipmitool lan set 1 ipaddr 192.168.10.10

配置掩码:
ipmitool lan set 8 netmask 255.255.255.0

因为在同一网段下,所以不需要配置网关。
服务器上ping BMC 的ip,能ping通即有效。

另:
恢复默认值,适用于浪潮服务器BMC
ipmitool raw 0x32 0x66

BMC执行热(冷)复位,在一些服务器(如HPE)配置完IP后需重启BMC生效
ipmitool -I open mc reset <warm|cold>
  • BMC用户配置:
配置用户和密码:
https://blog.csdn.net/ljlfather/article/details/102918530
sudo ipmitool user set name 3 zabbix
sudo ipmitool user set password 3 zabbix@123
sudo ipmitool channel setaccess 8 3 callin=on ipmi=on link=on privilege=2  配置权限

注意:还要让用户enabled。通过网页和命令都可以。

privilege的值:
1 callback 
2 user 
3 operator 
4 administrator 
5 OEM
  • 测试:
sudo ipmitool -I lanplus -H XXXXXXX -U zabbix -P zabbix@123 -L user sensor list
列出一大段设备。成功。
  • 浪潮服务器查看型号:
root123@root123:~$ sudo ipmitool fru list
FRU Device Description : Builtin FRU Device (ID 0)
 Chassis Type          : Rack Mount Chassis
 Chassis Part Number   : 0
 Chassis Serial        : 00
 Chassis Extra         : NULL
 Board Mfg Date        : Fri Dec 19 22:34:00 2014
 Board Mfg             : Inspur
 Board Product         : YZMB-00689-101
 Board Serial          : MBH811W20555A80
 Board Part Number     : NF5280M4
 Product Manufacturer  : Inspur
 Product Name          : NF5280M4
 Product Part Number   : 0
 Product Version       : 00001
 Product Serial        : 817359429
 Product Asset Tag     : 817359429
  • 通过ipmitool获取设备信息
sudo ipmitool -I lanplus -H 10.166.38.10 -U zabbix -P zabbix@123 -L user sensor get "FAN_0"

SNMP

下载:
sudo apt-get install snmpd snmp

配置:

端口与用户,在 /etc/snmp/snmpd.conf 文件中:
rouser zabbix auth

创建用户,首先把服务停掉.
sudo systemctl stop snmpd
在 /var/lib/snmp/snmpd.conf 最后添加一行:
createUser zabbix SHA zabbix@123

重启服务

测试:
snmpwalk -v 3 -l authNoPriv -a SHA -u 'zabbix' -A 'zabbix@123' '127.0.0.1:161'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值