系统监控命令
ps | ifconfig | ||
uptime | netstat或ss | ||
free | ping | ||
swapon -s | traceroute | ||
df -h | iostat |
监控概述
一、监控的目的
1、报告系统运行状况
- 每一部分必须同时监控
- 内容包括吞吐量、反应时间、使用率等
2、提前发现问题
- 进行服务器性能调整前,知道调整什么
- 找出系统的瓶颈在什么地方
二、监控的资源类别
1、公开数据
- Web、FTP、SSH、数据库等应用服务
- TCP或UDP端口
2、私有数据
- CPU、内存、磁盘、网卡流量等使用信息
- 用户、进程等运行信息
基本概念
一、zabbix简介
- zabbix是一个高度集成的监控解决方案
- 可以实现企业级的开源分布式监控
- zabbix通过C/S模式采集监控数据
- zabbix通过B/S模式实现Web管理
二、监控拓扑
1、监控服务器
(需要使用Web页面操作,因此需要先部署LNMP)
- 监控服务器可以通过SNMP或Agent采集数据
- 数据可以写入Mysql等数据库中
- 服务器使用LNMP实现web前端的管理
2、被监控主机
- 被监控主机需要安装Agent
- 常见的网络设备一般支持SNMP
3、实施监控的几个方面:
数据采集:
使用agent(可安装软件的系统上)、SNMP(简单网络管理协议,用于网络设备的数据采集)
数据存储:
使用mysql数据库
数据展示:
通过web页面
安装
安装说明:Download and install Zabbix
文档手册:Zabbix 使用手册
一、软件仓库、软件包准备
[root@zabbixserver ~]# rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-4.el8.noarch.rpm
[root@zabbixserver ~]# dnf clean all
[root@zabbixserver ~]# dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent
[root@zabbixserver ~]# yum -y install mysql-server
[root@zabbixserver ~]# yum -y install langpacks-zh_CN
二、创建初始数据库
[root@zabbixserver ~]# systemctl start mysqld
[root@zabbixserver ~]# systemctl enable mysqld
[root@zabbixserver ~]# mysql -uroot
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> set global log_bin_trust_function_creators = 1;
mysql> quit;
三、导入初始架构和数据
[root@zabbixserver ~]# zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
[root@zabbixserver ~]# mysql -uroot
... ...
Server version: 8.0.26 Source distribution
... ...
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;
log_bin_trust_function_creators
是一个MySQL服务器配置选项,用于控制是否允许创建存储函数和触发器。当此选项启用时,允许任何用户创建存储函数和触发器,而不需要具有SUPER
权限。
四、为Zabbix server配置数据库
[root@zabbixserver ~]# vim /etc/zabbix/zabbix_server.conf
... ...
DBPassword=password
... ...
五、为Zabbix前端配置PHP
[root@zabbixserver ~]# vim /etc/nginx/conf.d/zabbix.conf
server {
listen 8080;
server_name example.com;
六、配置被监控端
[root@zabbixserver ~]# vim /etc/zabbix/zabbix_agentd.conf
Hostname=zabbixserver
七、启动Zabbix相关服务
[root@zabbixserver ~]# systemctl enable zabbix-server --now
[root@zabbixserver ~]# systemctl enable zabbix-agent --now
[root@zabbixserver ~]# systemctl enable nginx --now
[root@zabbixserver ~]# systemctl enable php-fpm --now
管理使用(初始化)
浏览器访问Web页面
根据提示修改数据库信息
设置主机名、时区
完成安装
登录管理员用户名为Admin,密码为zabbix
基础监控
一、配置被监控主机
1、被监控端只要安装zabbix-agent
[root@web1 ~]# yum -y install zabbix-agent
2、修改配置文件
[root@web1 ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=127.0.0.1,192.168.88.5
Hostname=web1
3、启动服务
[root@web1 ~]# systemctl enable zabbix-agent --now
二、添加监控主机
Host(主机)是监控的基本载体
输入相关配置项
查看结果(可用性显示绿色的ZBX表示成功)
三、常用监控指标
- 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:网卡接收到的数据量
- Interface eth0: Bits sent:网卡发送的数据量
- Number of processes:系统运行的进程数
- Number of logged in users:已登陆的用户数
自定义监控
一、概述
在被控端创建key。被控端被监控的内容叫作key,可以理解为它就是一个变量名,具体的名字自己决定。
在web页面中创建监控项。监控项对应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
验证自定义监控项
# 安装zabbix-get
[root@zabbixserver ~]# yum -y install zabbix-get
[root@web1 ~]# yum -y install zabbix-get
# 获取监控项的值
[root@web1 ~]# zabbix_get -s 127.0.0.1 -k usercnt
23
[root@zabbixserver ~]# zabbix_get -s 192.168.88.100 -k usercnt
23
三、创建监控模板
创建模板名称与组名称
创建监控项
模板添加后,默认模板中没有任何监控项,需自行添加
将模板关联主机
找到待应用模板的主机