zabbix监控警告

监控概述

  • 对服务的管理,不能仅限于可用性。

  • 还需要服务可以安全、稳定、高效地运行。

  • 监控的目的:早发现、早治疗。

  • 被监控的资源类型:

    • 公开数据:对外开放的,不需要认证即可获取的数据

    • 私有数据:对外不开放,需要认证、权限才能获得的数据

uptime可以查看系统已经运行了多久。最后的3个数字分别是CPU最近1分钟、5分钟、15分钟的平均负载。平均负载的值,不应该大于总核心数。

[root@myhost ~]# uptime

09:28:25 up 53 days, 27 min, 0 users, load average: 0.09, 0.08, 0.03

free -h 主要用于查看内存

total 总内存 available 可用内存

swapon -s # 查看swap空间

df -h # 查看硬盘使用情况

ping -c2 www.baidu.com # 发2个包,测试网络

zabbix

实施监控的几个方面:

数据采集:使用agent(可安装软件的系统上)、SNMP(简单网络管理协议,用于网络设备的数据采集)

数据存储:使用mysql数据库

数据展示:通过web页面

zabbix通过在远程主机上安装agent进行数据采集,存储到mysql数据库,通过web页面进行展示。

安装zabbix 6.0 安装说明:https://www.zabbix.com/download?zabbix=6.0\&os_distribution=rocky_linux\&os_version=8\&components=server_frontend_agent\&db=mysql\&ws=nginx 中文手册:https://www.zabbix.com/documentation/6.0/zh

在zabbix上创建连接数据库的用户

[root@zabbixserver ~]# mysql mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin; # 在binlog日志开启的情况下,打开函数生成器 mysql> set global log_bin_trust_function_creators = 1; mysql> create user zabbix@localhost identified by 'zabbix'; mysql> grant all privileges on zabbix.* to zabbix@localhost; mysql> quit; 验证数据库配置,如果登陆不到数据库表示上一步配置不正确 [root@zabbixserver ~]# mysql -uzabbix -pzabbix -hlocalhost zabbix # 9. 在数据库中创建表并导入数据 [root@zabbixserver ~]# cp /usr/share/zabbix-sql-scripts/mysql/server.sql.gz . [root@zabbixserver ~]# gzip -d server.sql.gz [root@zabbixserver ~]# mysql -uzabbix -pzabbix zabbix < server.sql # 10. 配置zabbix_server [root@zabbixserver ~]# vim +129 /etc/zabbix/zabbix_server.conf DBPassword=zabbix # 11. 配置zabbix_agent [root@zabbixserver ~]# vim /etc/zabbix/zabbix_agentd.conf 182 Hostname=zabbixserver # 12. 配置nginx展示zabbix [root@zabbixserver ~]# vim /etc/nginx/conf.d/zabbix.conf # 打开第2、3行的注释,结果如下所示: server { listen 8080; server_name example.com; ...以下省略... 启动相关服务 [root@pubserver zabbix]# vim 04-start-zabbix.yml --- - name: config zabbix hosts: zabbix tasks: - name: start service # 循环启动多个服务 service: name: "{{item}}" state: started enabled: yes loop: - zabbix-server - zabbix-agent - nginx - php-fpm ansible-playbook 04-start-zabbix.yml

虚拟主机分类 基于IP或基于端口号或基于名称

空闲值 最小值 平均值 最大值

访问zabbixserver的8080端口,进行初始化:

这里的用户名Admin,A是大写的!密码是小写的zabbix

此时zabbix已经开始在监控自己了,查看默认监控配置

1.配置zabbix监控web1服务器

安装agent

  1. [root@pubserver zabbix]# vim 05-inst-agent.yml

  • name: install agent

hosts: webservers

tasks:

  • name: install agent # 安装agent

yum:

name: zabbix-agent

state: present

[root@pubserver zabbix]# ansible-playbook 05-inst-agent.yml

2. 修改web1配置文件

[root@web1 ~]# vim /etc/zabbix/zabbix_agentd.conf

117 Server=127.0.0.1,192.168.88.5

182 Hostname=web1

3. 起动服务

[root@pubserver zabbix]# vim 06-start-agent.yml


  • name: config agent

hosts: web1

tasks:

  • name: start agent # 启动服务

service:

name: zabbix-agent

state: started

enabled: yes

[root@pubserver zabbix]# ansible-playbook 06-start-agent.yml

在web页面中添加对web1的监控

主机:安装了agent,被监控的主机

主机组:根据需求,将多台主机加入到一个主机组中,方便管理。系统默认已经创建了一些主机组。

模板:是监控项的集合。将模板应用到主机,主机就可以直接拥有模板中的所有监控项。系统中默认已经创建了一些模板。

常用监控指标
  • Space utilization:以百分比显示的磁盘利用率

  • Used space:已用磁盘空间

  • Available memory:可用内存

  • CPU idle time:CPU空闲时间。不宜过低。

  • Load average (1m avg)、Load average (5m avg)、Load average (15m avg):CPU1分钟、5分钟、15分钟的平均负载。这个值不应长期大于核心数。

  • Interface eth0: Bits received:网卡接收到的数据量 数据需要除以8 换算成比特而不是字节

  • Interface eth0: Bits sent:网卡发送的数据量

  • Number of processes:系统运行的进程数

  • Number of logged in users:已登陆的用户数

未启用爆红错误的话 检查服务是否开启 是否10050端口存在

也有可能存在权限问题 查看主机IP地址是否错误 配置文件错误

vim /etc/zabbix/zabbix_agentd.conf 117行写错

自定义监控项

实现监控web1用户数量的监控项

在被控端创建key。被控端被监控的内容叫作key,可以理解为它就是一个变量名,具体的名字自己决定。

在web页面中创建监控项。监控项对应key值。

包含 》对应》 模板》 监控项 》 key

在被控端创建key

创建key的语法

UserParameter=自定义key值,命令

命令的执行结果,是key的value

创建自定义配置文件。文件名自定义。

[root@web1 ~]# vim /etc/zabbix/zabbix_agentd.d/usercnt.conf

UserParameter=usercnt,sed -n '$=' /etc/passwd

[root@web1 ~]# systemctl restart zabbix-agent.service

验证自定义监控项

  1. 安装zabbix-get

[root@zabbixserver ~]# yum install -y zabbix-get

[root@web1 ~]# yum install -y zabbix-get

  1. 获取监控项的值

[root@web1 ~]# zabbix_get -s 127.0.0.1 -k usercnt

[root@zabbixserver ~]# zabbix_get -s 192.168.88.100 -k usercnt

创建模板

你都知道有哪些命令可以监控服务器的各种状态?

参考答案(注意:有些命令需要额外安装):

可以使用以下命令监控服务器的各种状态:

top:查看系统整体的 CPU、内存、进程等信息。

htop:类似于 top,但是界面更加美观,而且支持鼠标操作。

free:查看内存的使用情况。

df:查看磁盘的使用情况。

du:查看指定目录的磁盘使用情况。

iostat:查看磁盘 I/O 的情况。

vmstat:查看虚拟内存的情况。

sar:查看 CPU、内存、磁盘、网络等信息,可以设置输出时间间隔。

netstat:查看网络连接情况。

ss:查看网络连接情况,比 netstat 更快速、更详细。

iftop:查看网络流量情况。

tcpdump:抓包工具,可以查看网络数据包的内容。

ping:测试网络连通性。

traceroute:追踪数据包在网络中的路径。

telnet:测试端口是否开放。

curl:测试 Web 服务是否正常。

wget:下载文件,测试网络带宽。

nload:查看网络流量情况,类似于 iftop。

iptraf:查看网络流量情况,支持多种协议。

nethogs:查看进程的网络流量情况。

iftop:查看网络流量情况。

tcpdump:抓包工具,可以查看网络数据包的内容。

ping:测试网络连通性。

traceroute:追踪数据包在网络中的路径。

telnet:测试端口是否开放。

curl:测试 Web 服务是否正常。

简要说明一下如何在Rocky 8系统上安装zabbix 6.0?

参考答案:

系统yum没有提供zabbix安装包,需要先准备zabbix的yum源

安装软件包,包括:zabbix-server-mysql、zabbix-web-mysql、zabbix-nginx-conf、zabbix-sql-scripts、zabbix-selinux-policy、zabbix-agent、mysql-server

启动mysqld服务

在mysql服务器上创建数据库以及访问数据库的用户

导入zabbix提供的sql文件到上一步建立的数据中

配置zabbix server端(改配置文件)

配置zabbix agent端(改配置文件)

配置nginx展示zabbix(改配置文件)

启动相关服务,包括:zabbix-server、zabbix-agent、nginx、php-fpm

访问zabbixserver的8080端口,进行初始化

zabbix常用的监控指标有哪些?

CPU 使用率:监控服务器的 CPU 利用率,以评估服务器的负载和性能。

内存使用率:监控服务器的内存使用情况,包括物理内存、交换内存和缓存的使用情况。

磁盘空间使用率:监控服务器和存储设备的磁盘空间使用情况,以避免磁盘空间不足的问题。

网络带宽使用情况:监控网络接口的网络带宽使用情况,包括入带宽和出带宽的使用情况。

网络设备状态和流量:监控网络设备的状态和流量,包括交换机、路由器等设备的状态和流量。

数据库性能:监控数据库的性能指标,包括查询吞吐量、查询执行性能、连接情况等。

Web 应用程序响应时间和错误率:监控 Web 应用程序的响应时间和错误率,以提高应用程序的性能和可用性。

日志文件变化和错误:监控日志文件的变化和错误,以获取应用程序和系统的运行信息和故障排除信息。

操作系统进程和服务状态:监控操作系统的进程和服务状态,以确保系统的稳定性和可用性。

系统日志和告警事件:监控系统日志和告警事件,以获取系统和应用程序的运行信息和故障排除信息。

电力设备状态:监控电力设备的电压、电流和温度等状态,以确保设备的稳定运行。

安全设备状态:监控安全设备的防火墙日志、攻击检测等状态,以提高系统的安全性。

如何在zabbix被控端创建自定义key?

UserParameter=自定义key值,命令 # 命令的执行结果,是key的value

自定义key创建后需要重启zabbix-agent服务:

systemctl restart zabbix-agent.service

创建的key可以通过zabbix_get查询:

zabbix_get -s 主机地址 -k 自定义key

配置zabbix监控服务器

本实验需要使用课上的zabbix server,如没有可用服务器,请参照课上文档部署服务器

准备一台名为db1的虚拟机

在虚拟机安装zabbix agent,并

配置yum

安装配置agentyum install -y zabbix-agent

修改配置文件

[root@db1 ~]# vim /etc/zabbix/zabbix_agentd.conf

117 Server=127.0.0.1,192.168.88.5

182 Hostname=db1

启动服务

[root@db1 ~]# systemctl enable zabbix-agent.service --now

自定义监控项

在db1创建名为grpcnt的key,用于监控用户组的数量

在zabbixserver的web页面上显示该key

[root@db1 ~]# vim /etc/zabbix/zabbix_agentd.d/grpcnt.conf

UserParameter=grpcnt,sed -n '$=' /etc/group

重启服务

[root@db1 ~]# systemctl restart zabbix-agent.service

安装zabbix-get

[root@db1 ~]# yum install -y zabbix-get

获取key值

[root@db1 ~]# zabbix_get -s 127.0.0.1 -k grpcnt

相关推荐
人类群星闪耀时9 天前
监控和日志管理:深入了解Nagios、Zabbix和Prometheus
zabbix·prometheus
不喜欢就睡大觉11 天前
介绍与部署 Zabbix 监控系统
zabbix
丶213612 天前
【监控】【Nginx】使用 Zabbix 监控 Nginx,并使用 mysql存储数据的详细指南
mysql·nginx·zabbix
爱吃龙利鱼12 天前
web群集--rocky9.2部署zabbix服务端的详细过程
运维·前端·云原生·zabbix
wgc8917812 天前
Zabbix短信告警示例
前端·chrome·zabbix
IT WorryFree16 天前
Zabbix 6.4添加中文语言
zabbix
孙强_052516 天前
使用docker创建zabbix服务器
服务器·docker·zabbix
乐维_lwops16 天前
zabbix“专家坐诊”第256期问答
zabbix
小阿轩yx21 天前
小阿轩yx-案例:Zabbix监控kubernetes云原生环境
linux·云原生·kubernetes·云计算·zabbix·运维开发
小阿轩yx21 天前
小阿轩yx-Zabbix企业级分布式监控环境部署
linux·分布式·云计算·zabbix·运维开发·企业级监控部署