码云monitor监控服务开源:https://gitee.com/xrkmonitorcom/open/tree/master/
官方地址https://www.zabbix.com/download?zabbix=6.0&os_distribution=ubuntu&os_version=20.04_focal&db=mysql&ws=nginx
01. 综合架构监控服务器常用命令
CPU: top htop glances
监控什么:
us: user state 用户态信息 40%
sy: system state 内核态信息 40% MySQL进程
id: idle 空闲状态 20%
内存: top htop free
监控什么:
内存可用率:
swap空间使用情况:
磁盘: df iotop(检查磁盘io消耗) glances
监控什么:
磁盘使用情况
磁盘的IO消耗
网络: iftop glances
监控什么:
网络带宽使用情况
进程: top htop ps glances
监控什么:
占用内存情况 tomcat(java)---内存占满(内存溢出)--服务出现僵死(重启服务)
占用CPU情况: MySQL
负载: w top uptime glances
监控什么:
10分钟负载 <CPU内核数
15分钟负载
awk 取参数作比较
02. 综合架构监控服务体系结构:
1) 硬件监控 服务器 路由器 交换机 防火墙(SNMP)
2) 系统监控 CPU 内存 磁盘 网络 进程 TCP(十一种状态)
3) 服务监控 nginx php tomcat redis memcache mysql
4) 网站监控 请求时间 响应时间 加载时间 页面监控
5) 日志监控 ELK(收集 存储 分析 展示) 日志易
access --- 用户源IP地址 北京1000 上海100 深圳500
6) 安全监控 Firewalld(4层和4层以下) WAF(Nginx+lua)(应用层面) 安全宝 牛盾云 安全狗
7) 网络监控 smokeping 监控宝 站长工具 奇云测 多机房
8) 业务监控 (数据库信息)活动产生多少流量 产生多少注册量 带来多少价值
03.zabbix监控服务说明
a zabbix软件结构组成
zabbix-server: 监控服务端
zabbix-agent: 监控客户端
zabbix-web: 监控网站服务
php: 处理动态请求
mysql: 数据库存储监控数据
zabbix-proxy: 负责收集agent信息汇总告知zabbix-server
b zabbix软件安装部署过程
软件选择: 4.0 LTS(long time support 长期支持版)
zabbix服务端部署软件流程: 第一个里程: 下载安装zabbix yum 源文件 LTS long time support 1) aliyun zabbix yum 源 2) 清华源 rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm -- 老版本 3.官方源 rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 第二个里程: 下载安装zabbix服务端相关软件 zabbix服务程序软件: zabbix-server-mysql zabbix服务web软件: zabbix-web-mysql httpd php 数据库服务软件: mariadb-server yum install -y zabbix-server-mysql zabbix-web-mysql httpd php mariadb-server 第三个里程: 软件配置 vim /etc/zabbix/zabbix_server.conf 126 DBPassword=zabbix vim /etc/httpd/conf.d/zabbix.conf 21 php_value date.timezone Asia/Shanghai 第四个里程: 编写配置数据库服务 systemctl start mariadb.service systemctl status mariadb.service 创建zabbix数据库--zabbix create database zabbix character set utf8 collate utf8_bin; 创建数据库管理用户 grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix'; 在zabbix数据库中导入相应的表信息 zcat /usr/share/doc/zabbix-server-mysql-4.0.0/create.sql.gz|mysql -uzabbix -pzabbix zabbix zgrep 第五个里程: 启动zabbix程序相关服务 数据库服务 zabbix服务 httpd服务 systemctl start zabbix-server.service httpd mariadb.service systemctl enable zabbix-server.service httpd mariadb.service 说明: 至此zabbix-server命令行操作结束 LNMP: nginx php mysql LAMP: apache(php模块) mysql 第六个里程: 登录zabbix服务端web界面, 进行初始化配置 http://10.0.0.71/zabbix/setup.php 10051 zabbix-server 服务端端口号 10050 zabbix-agent 客户端端口号 /etc/zabbix/web/zabbix.conf.php -- 记录web页面初始化信息 第七个里程: 登录zabbix服务web页面 用户名Admin 密码zabbix ubuntu 安装中文包 language-pack-zh*
监控客户端部署流程 第一个里程: 下载安装zabbix yum 源文件 LTS long time support 1) aliyun zabbix yum 源 2) 清华源 rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm 第二个里程: 下载安装zabbix客户端软件 yum install -y zabbix-agent 或者 rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.0-2.el7.x86_64.rpm 第三个里程: 编写zabbix客户端配置文件 vim /etc/zabbix/zabbix_agentd.conf 98 Server=172.16.1.71 第四个里程: 启动zabbix-agent服务 [root@web01 ~]# systemctl start zabbix-agent [root@web01 ~]# netstat -lntup|grep 10050 tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 4509/zabbix_agentd tcp 0 0 :::10050 :::* LISTEN 4509/zabbix_agentd
04. 实现zabbix默认第一台主机的监控
第一步: 配置---主机---创建主机(创建要监控的主机)
第二步: 配置监控的主机
主机信息中: 名称 主机组 监控的主机地址
模板信息中: 指定需要链接的模板信息
第三步: 保存退出,进行监控检查
检查主机有没有变绿
监测--最新数据
05 . 实现zabbix自定义配置监控
监控项: 可以自定义监控收集主机的信息
应用集: 将多个类似的监控项进行整合 便于查看检查
模板: 将多个监控项 触发器 图形都配置在模板中, 方便多个监控的主机进行调用
动作: 指定将报警信息发送给谁/定义报警的信息/定义报警的类型O(邮件 微信 短信电话)
PS: 宏信息定义方法:
https://www.zabbix.com/documentation/4.0/zh/manual/appendix/macros/supported_by_location
触发器: 可以实现报警提示(条件表达式),默认页面提示报警
图形: 将多个图整合成一张,便于分析数据
报警媒介: 定义报警的方式
06. 实现zabbix自定义监控---监控项作用
简单的自定义监控配置(单一服务状态)
需求: 监控nginx服务是否启动
1) 在zabbix-agent进行配置文件编写
第一个历程: 编写自定义监控命令
ps -ef|grep -c [n]ginx
第二个历程: 编写zabbix-agent配置文件
第一种方法: 直接修改zabbix-agent配置文件参数
UserParameter=
第二种方法: 在zabbix_agentd.d/目录中编写自定义监控文件
vim web_server.conf
UserParameter=键(变量名),值(变量信息)
UserParameter=web_state,ps -ef|grep -c [n]ginx
第三个历程: 重启zabbix-agent服务
systemctl restart zabbix-agent
2) 在zabbix-server命令行进行操作
第一个历程: 检测自定义监控信息是否正确
yum install -y zabbix-get
zabbix_get -s IP -k '键值'
3) 在zabbix-server网站页面进行配置
第一个历程: 进入到创建监控项页面:
配置---主机---选择相应主机的监控项
第二个历程: 监控项页面如何配置
名称 键值 更新间隔时间 应用集
第三个历程: 检查是否收集到监控信息
自行研究: 监控远程服务是否正常启动
复杂的自定义监控配置(多个服务状态)
1) 在zabbix-agent端编写配置文件
vim server_state.conf
UserParameter=server_state[*],netstat -lntup|grep -c $1
2) 在zabbix-server命令测试
zabbix_get -s 172.16.1.5 -k 'server_state[22]'
3) 修改配置页面
键值: server_state[22]