附:分布式拓扑图
logstash、filebeat都是收集日志;
elasticsearch存储日志;
kibana是展示日志、可视化
1、监控
1.1 监控的功能:
- 在需要的时刻,提前预警即将出现的问题,避免故障发生
- 实时监控系统和业务,当出问题之后,通过发出告警,提醒相关人员,快速可以找到问题的根源, 从而及时处理问题
- 可以实现网站,应用或者服务器的故障自愈, 保证高可用性
- 以图形或易观察的方式呈现当前以及过往的状态,便于分析和预测系统发展趋势
1.2 监控的内容
监控一切需要监控的资源,包括:服务器,网络设备,业务应用,云服务等
分类 | 实例内容 |
---|---|
硬件监控 | 通过远程控制卡 : DeLL的iDRAC,HP的ILO和IBM的IMM等 使用IPMI(服务器管理口) 来完成物理设备的监控工作。通常必须要监控包括温度、硬盘故障等 路由器,交换机(端口,光衰,日志),打印机等 |
系统监控 | cpu(命令:top) 内存(命令:free) 硬盘使用率(命令:df) 硬盘IO(命令:iostat) 系统负载 进程数(命令:ps aux) |
服务监控 | nginx,apache, php-fpm,mysql.memcache,redis ,tomcat,JVM,TCP连接数 |
性能监控 | 网站性能,服务器性能,数据库性能,存储性能 |
日志监控 | 系统会产生系统日志,应用程序会有应用的访问日志、错误日志,服务有运行日志等, 可以使用ELK来进行日志监控 |
安全监控 | 用户登录数,passwd文件变化,本地所有文件改动 Nginx+Lua编写一个WAF通过kibana可以图形化的展示不同的攻击类型的统计。 |
网络监控 | IP,端口,URL,DB,ping包,IDC带宽网络流量,网络流出速率,网络入流量, 网络出流是.网络使用率,SMTP.POP3 |
1.3 监控软件
开源监控软件:cacti、nagios、zabbix、smokeping、open-falcon等。本章节主要介绍zabbix
2、zabbix ⭐⭐⭐⭐⭐
zabbix是可视化界面,zabbix游离在所有的应用程序之外,它不对客户提供服务,而是对运维人员提供服务
如果是之前版本的zabbix 实现高可用,需要与keepalived结合
2.1 zabbix 功能
Zabbix 是一个高度成熟完善的网络监控解决方案,包含了下面多种功能:
- 数据收集
- 灵活的阈值定义
- 高度可配置化的告警
- 实时图形
- web监控功能
- 丰富的可视化选项
- 历史数据存储
- 配置简单
- 使用模板
- 网络发现
- 权限管理系统
- 二进制守护进程
2.2 zabbix 组件
主要介绍下面四大组件:
-
server
- zabbix server
- web 前端页面
- 数据库
-
agent
-
proxy
-
java gateway
2.2.1 server 监控端(端口号10051)
基本的 Zabbix Server 的功能分解成为三个不同的组件。分别是:Zabbix server、Web前端和数据库。
2.2.1.1 zabbix server
- Zabbix server 是 Zabbix 软件的核心组件
- Zabbix Agent 向其报告可用性、系统完整性信息和统计信息。
- Zabbix server也是存储所有配置信息、统计信息和操作信息的核心存储库。
- Zabbix server也是Zabbix监控系统的告警中心。在监控的系统中出现任何异常,将发出通知给管理员。
2.2.1.2 WEB 前端界面
- WEB 界面是 Zabbix server 的一部分,用于实现展示和配置的界面通常(但不一定)和 Zabbix server 运行在同一台物理机器上
- 基�� Apache(Nginx)+PHP 实现,早期只支持LAMP架构,从Zabbix5.0开始支持LNMP。(有可能是apache,也可能是nginx,不固定)
2.2.1.3 数据库database
- 所有配置信息以及 Zabbix 采集到的数据都被持久存储在数据库中
- 可以支持MySQL、PostgreSQL、Oracle 等多种数据库
2.2.2 AGENT 被监控端/客户端(端口号10050)
- Zabbix agents 部署在被监控目标上,用于主动监控本地资源和应用程序
- 并将收集的数据发送给Zabbix server。从Zabbix5.0开始支技Zabbix Agent2
2.2.3 PROXY 代理端进程
- Zabbix Proxy 可以代替 Zabbix Server 采集性能和可用性数据
- Zabbix Proxy 在 Zabbix 的部署是可选部分,不是必须。
- Zabbix Proxy 的部署可以很好的分担单个Zabbix server的负载
2.2.4 java gateway
Zabbix 要监控 tomcat 服务器和其它JAVA程序,需要使用 Java gateway 做为代理,才能从JAVA程序中获取数据
2.3 zabbix 术语
-
被监控: 即 Zabbix 监控的主机或设备
-
监控项item:即 Zabbix 监控的相关指标,比如:CPU利用率,内存使用率,TCP连接数等
- 监控内容:cpu 利用率
-
应用集Application:为方便管理众多的监控项,可将多个同类型的监控项进行归类,纳入一个集合中,即应用集
-
触发器Trigger:相当于设置一个判断条件,比如设置一个阈值,如磁盘利用率超过80%等,如果达到这个阈值,就会触发告警。当触发条件后,会导致一个触发事件,这个事件会执行一个或多个动作
-
动作:就是处理动作,比如发邮件、也可以自愈等
-
告警:当触发器和处理动作二者结合起来时,就构成了的告警机制, 比如cpu的使用率达到80%以上,触发了报警动作,系统将自动发送一封邮件到指定的邮箱。然后运维可以及时的去处理此错误 host---> items---> triggers --> action
-
Web 监测:对WEB服务进行检测,比如:访问指定网站是否可正常访问
-
模板 Template⭐⭐: 可以方便地应用于多个主机的一组实体的集合。而这些实体包括:
- items(监控项)
- applications(应用集)
- triggers(触发器)
- graphs(图形)
- screens (聚合图形,自Zabbix 2.0起)
3、编译安装 zabbix
官方手册
- 安装依赖关系
js
[root@7-2 ~]# yum install gcc libxml2-devel net-snmp net-snmp-devel curl curl-devel php php-bcmath php-mbstring mariadb mariadb-devel libevent-devel java-1.8.0-openjdk-devel -y
- 建立管理用户
js
[root@7-2 ~]# groupadd zabbix //创建zabbix组用户
[root@7-2 ~]# useradd -g zabbix zabbix
- 解压包
js
[root@7-2 ~]# cd /data //切换目录
********加载软件安装包*******
[root@7-2 data]# tar xf zabbix-4.0.30.tar.gz
#解压
[root@7-2 data]# cd zabbix-4.0.30/
******或者也可以下包*****
#下载安装包
wget https://cdn.zabbix.com/zabbix/sources/stable/4.0/zabbix-4.0.30.tar.gz
- 编译安装
js
./configure --help //可以查看帮助
[root@7-2 zabbix-4.0.30]# ./configure --prefix=/apps/zabbix_server --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --enable-java //这一步指定检测环境,生成makefile文件;--prefix指定了软件的安装目录
[root@7-2 zabbix-4.0.30]# make && make install
[root@7-2 zabbix-4.0.30]# cd /apps/zabbix_server //切换到安装目录
[root@7-2 zabbix_server]# ls
bin etc lib sbin share //sbin是主进程,etc里面是配置文件
[root@7-2 zabbix_server]# cd sbin
[root@7-2 sbin]# ls
zabbix_agentd zabbix_java zabbix_server
- 添加客户端
js
./configure --prefix=/apps/zabbix --enable-agent
在别的机器上 客户机需要安装的 客户端
- 安装mariadb
数据库可以安装在本地也可以分离
js
[root@7-2 ~]# yum install mariadb-server.x86_64 -y
[root@7-2 ~]# systemctl start mariadb
[root@7-2 ~]# mysql_secure_installation //安全加固脚本,对应的就是那些yes或者no
#输入当前密码,安装好还没有密码,直接回车
#是否要设置root密码 y abc123
#是否移除匿名用户 y
#是否不允许远程登录 y
#是否移除测试数据 y
#是否刷新 y
[root@7-2 ~]# mysql -uroot -pabc123
create database zabbix character set utf8 collate utf8_bin; //collate排序规则
create user zabbix@localhost identified by 'zabbix';
grant all privileges on zabbix.* to zabbix@localhost; //grant授权
set global log_bin_trust_function_creators = 1;
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| zabbix | //zabbix数据库
+--------------------+
MariaDB [(none)]> select user,host from mysql.user;
+--------+-----------+
| user | host |
+--------+-----------+
| root | 127.0.0.1 |
| root | ::1 |
| root | localhost |
| zabbix | localhost | //zabbix用户
+--------+-----------+
- 导入zabbix数据库文件
js
[root@localhost mysql]# cd /data/zabbix-4.0.30/database/mysql
[root@localhost mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql
[root@localhost mysql]# mysql -uzabbix -pzabbix zabbix < images.sql
[root@localhost mysql]# mysql -uzabbix -pzabbix zabbix < data.sql //注意:data.sql 必须最后导入⭐
- 安装web apapche
js
[root@localhost mysql]# yum install httpd -y
[root@localhost mysql]# systemctl start httpd
[root@localhost mysql]# systemctl status httpd
[root@localhost zabbix-4.0.30]# cd /data/zabbix-4.0.30/frontends/php/ //frontends是前端的意思
[root@localhost php]# cp -a /data/zabbix-4.0.30/frontends/php/ /var/www/html/zabbix/ //后面的zabbix可以自己定义,也是要访问的页面。注意,前面最好写绝对路径
# 将前端页面拷贝过去
- 修改zabbix配置
js
vim /apps/zabbix_server/etc/zabbix_server.conf
118行 取消注释,修改密码 其他不用修改
118 DBPassword= zabbix
grep "^[a-Z]" /apps/zabbix_server/etc/zabbix_server.conf
LogFile=/tmp/zabbix_server.log
DBName=zabbix_server
DBUser=zabbix
DBPassword=zabbix
LogSlowQueries=3000
- 使用绝对路径,启动客户端和服务端
js
/apps/zabbix_server/sbin/zabbix_server #服务端
/apps/zabbix_server/sbin/zabbix_agentd #客户端
- 升级php 版本
js
打开浏览器 访问 192.168.125.120/zabbix //ip后面不需要加冒号!!!
yum install php-gettext php-xml php-net-socket php-gd php-mysql -y
修改php 软件的配置
vim /etc/php.ini
384 max_execution_time = 300
394 max_input_time = 600
672 post_max_size = 16M
878 date.timezone = Asia/Shanghai
systemctl restart httpd
会出现以下报错, 按上面的方法 安装软件,修改配置
12.下载配置文件
js
[root@7-2 php]# cd /var/www/html/zabbix/conf/
`第一种方法:`
*******加载zabbix.conf.php*******
[root@7-2 conf]# ls
maintenance.inc.php zabbix.conf.php zabbix.conf.php.example //指定目录下,必须要有zabbix.conf.php文件,可以touch个同名的空文件,但是必须要有,不然会报错。
`第二种方法:`
cp zabbix.conf.php /var/www/html/zabbix/conf/ -a
复制好了 直接刷新页面!!!
13.准备service 文件
js
[root@localhost system]# pkill zabbix_server //先停止 zabbix-server⭐
[root@localhost system]# vim /usr/lib/systemd/system/zabbix-server.service
[Unit]
Description=Zabbix Server
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=/apps/zabbix_server/etc/zabbix_server.conf"
EnvironmentFile=-/etc/default/zabbix-server
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_server.pid
KillMode=control-group
ExecStart=/apps/zabbix_server/sbin/zabbix_server -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
TimeoutSec=infinity
User=zabbix
Group=zabbix
[Install]
WantedBy=multi-user.target
[root@localhost ~]# chown zabbix:zabbix /apps/zabbix_server/ -R
[root@localhost system]# systemctl daemon-reload
[root@localhost system]# systemctl start zabbix-server.service
[root@localhost system]# systemctl status zabbix-server.service
/apps/zabbix_server/sbin/zabbix_agentd //绝对路径
14.修改中文
- 修改字体 以及图表的中文乱码问题
去win主机的c盘
C:\Windows\Fonts
bash
# pwd
cd /var/www/html/zabbix/assets/fonts //上传楷体字体文件到这里
********上传SIMKAI.ttf*******
# chown zabbix.zabbix ./* #更改权限为zabbix用户和组
# ll
总用量 12260
drwxr-xr-x 2 zabbix zabbix 4096 12月 14 11:28 ./
drwxr-xr-x 5 zabbix zabbix 4096 11月 25 17:06 ../
-rw-r--r-- 1 zabbix zabbix 756072 11月 25 17:05 DejaVuSans.ttf
-rw-r--r-- 1 root root 11787328 3月 2 2019 simkai.ttf
#后缀必须小写 ttf
#修改配置文件中的 字体设置
vim /var/www/html/zabbix/include/defines.inc.php
#72 define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans'); // font file name
72 define('ZBX_GRAPH_FONT_NAME', 'SIMKAI'); // font file name
#113 define('ZBX_FONT_NAME', 'DejaVuSans');
113 define('ZBX_FONT_NAME', 'SIMKAI'); //注意区分字母大小写,否则效果出不来
4、配置文件
官方源安装:配置文件位置
配置文件 | 位置 |
---|---|
server 服务端 | /etc/zabbix/zabbix_server.conf |
agent 客户端 | /etc/zabbix/zabbix_agentd.conf |
5、主动模式和被动模式⭐⭐⭐
被动模式,是默认的模式。
server和proxy都是区分主动和被动,都是相对于agent
而言。
-
不含proxy(proxy不是必选项)
- 主动模式:agent主动推送给server服务端
- 被动模式:server或者proxy,去拉取agent。默认是被动模式。
-
包含proxy
- 主动模式:agent主动连接proxy,proxy再转给server
- 被动模式:agent被动等待proxy连接,proxy再转给server
注意:使用proxy,建议不要和server使用同一个数据库,这样容易造成数据丢失。
小拓展:访问流程
java客户端先访问java gateway,后面如果有proxy,网关就将访问交给proxy,如果没有proxy,直接就给server服务器。
6、实验
6.1 实验一:添加主机(被动模式)
默认的被动模式
实验环境:
7-2 server 192.168.125.120
7-3 agent 192.168.125.130
6.1.1 安装zabbix-agent客户端
- 安装依赖环境
ini
[root@node2 ~]# yum install gcc libxml2-devel net-snmp net-snmp-devel curl curl-devel php php-bcmath php-mbstring mariadb mariadb-devel libevent-devel java-1.8.0-openjdk-devel -y
- 解压安装包 编译
csharp
[root@node2 ~]# cd /data
********加载zabbix-4.0.30.tar.gz安装包***********
[root@node2 data]# tar xf zabbix-4.0.30.tar.gz
[root@node2 data]# cd zabbix-4.0.30/
[root@node2 zabbix-4.0.30]# ./configure --prefix=/apps/zabbix --enable-agent
[root@node2 zabbix-4.0.30]# make -j2 && make install
- 准备service文件
js
[root@node2 zabbix-4.0.30]# useradd -s /sbin/nologin zabbix //新建用户
[root@node2 zabbix-4.0.30]# vim /usr/lib/systemd/system/zabbix-agent.service
[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=/apps/zabbix/etc/zabbix_agentd.conf"
EnvironmentFile=-/etc/default/zabbix-agent
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_agentd.pid
KillMode=control-group
ExecStart=/apps/zabbix/sbin/zabbix_agentd -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
User=zabbix
Group=zabbix
[Install]
WantedBy=multi-user.target
[root@node2 zabbix-4.0.30]#systemctl daemon-reload
[root@node2 zabbix-4.0.30]#systemctl start zabbix-agent.service
[root@node2 zabbix-4.0.30]#systemctl status zabbix-agent.service
[root@node2 zabbix-4.0.30]#yum install tree -y
[root@node2 zabbix-4.0.30]#cd /apps/zabbix
[root@7-5 zabbix]# tree
.
├── bin
│ ├── zabbix_get
│ └── zabbix_sender
├── etc
│ ├── zabbix_agentd.conf //配置文件
│ └── zabbix_agentd.conf.d //子配置文件
├── lib
│ └── modules
├── sbin
│ └── zabbix_agentd
└── share
└── man
├── man1
│ ├── zabbix_get.1
│ └── zabbix_sender.1
└── man8
└── zabbix_agentd.8
10 directories, 7 files
6.1.2 修改配置文件
js
[root@7-5 etc]# cd /apps/zabbix/etc
[root@7-5 etc]# cp zabbix_agentd.conf zabbix_agentd.conf.bak //备份
[root@node2 etc]#vim zabbix_agentd.conf
94 Server=192.168.125.120 #指向当前zabbix server
##### Passive checks related #被动检查相关配置
### Option: ListenPort
ListenPort=10050 #监听端口 默认的无需修改
119 StartAgents=3
#启动3个进程收集数据
146 Hostname=192.168.125.130 //对应图形化界面中的主机名称⭐⭐⭐⭐
#指定名称 一般使用 IP地址, 等会需要使用
[root@7-5 etc]# grep '^[a-Z]' zabbix_agentd.conf //注意是以小a到大Z开头的,或者也可以使用[[:alpha:]],代表任意字母
LogFile=/tmp/zabbix_agentd.log
Server=192.168.125.120
ServerActive=127.0.0.1
Hostname=192.168.125.130
[root@node2 zabbix-4.0.30]#systemctl restart zabbix-agent.service
[root@node2 etc]#systemctl status zabbix-agent.service
# 可以看到三个监听线程
● zabbix-agent.service - Zabbix Agent
Loaded: loaded (/usr/lib/systemd/system/zabbix-agent.service; disabled; vendor preset: disabled)
Active: active (running) since 五 2024-07-19 15:55:42 CST; 11s ago
Process: 6348 ExecStop=/bin/kill -SIGTERM $MAINPID (code=exited, status=0/SUCCESS)
Process: 6350 ExecStart=/apps/zabbix/sbin/zabbix_agentd -c $CONFFILE (code=exited, status=0/SUCCESS)
Main PID: 6353 (zabbix_agentd)
CGroup: /system.slice/zabbix-agent.service
├─6353 /apps/zabbix/sbin/zabbix_agentd -c apps/zabbix/etc/zabbix_agentd.conf
├─6354 /apps/zabbix/sbin/zabbix_agentd: collector [idle 1 sec]
├─6355 /apps/zabbix/sbin/zabbix_agentd: listener #1 [waiting for connection]
├─6356 /apps/zabbix/sbin/zabbix_agentd: listener #2 [waiting for connection]
├─6357 /apps/zabbix/sbin/zabbix_agentd: listener #3 [waiting for connection]
└─6358 /apps/zabbix/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
7月 19 15:55:42 node2 systemd[1]: Starting Zabbix Agent...
7月 19 15:55:42 node2 systemd[1]: Started Zabbix Agent.
6.1.3 web页面主控端添加被监控主机
在zabbix web管理界面添加上一步安装了zabbix agent的linux主机。
- 配置------>主机------>创建主机
2. 添加模板
不添加模板是不会监控的
- 选择内置模板
ZBX
变绿,证明添加主机实验成功。
6.1.4 使用zabbix_get命令获取数据
除了使用上述的图形化界面收集数据,也可以使用zabbix_get
命令去测试
js
server端:
[root@localhost data]#/apps/zabbix_server/bin/zabbix_get -s 192.168.125.130 -p 10050 -k "agent.ping" //注意,agent和ping中间连接符是.点
1 //代表没问题,主机之间互通
zabbix_get选项:
选项 | 含义 |
---|---|
-s | 指明主机 |
-k | 指明监控项,-k 后面的就是键值 |
-p | 端口 |
6.2 实验二:主动模式
0是主动,1是被动,默认是主动0
谁主动去连接别人,谁就会主动开启随机端口。 比如7-1去连7-2,7-2的是固定端口,7-1会开启随机端口
实验环境:
7-2 server 192.168.125.120
7-1 agent主动 192.168.125.100
6.2.1 安装zabbix-agent客户端
- 安装依赖环境
js
[root@node2 ~]# yum install gcc libxml2-devel net-snmp net-snmp-devel curl curl-devel php php-bcmath php-mbstring mariadb mariadb-devel libevent-devel java-1.8.0-openjdk-devel -y
- 解压安装包 编译
js
[root@node2 ~]# cd /data
********加载zabbix-4.0.30.tar.gz安装包***********
[root@node2 data]# tar xf zabbix-4.0.30.tar.gz
[root@node2 data]# cd zabbix-4.0.30/
[root@node2 zabbix-4.0.30]# ./configure --prefix=/apps/zabbix --enable-agent
[root@node2 zabbix-4.0.30]# make -j2 && make install
- 准备service文件
js
[root@node2 zabbix-4.0.30]# useradd -s /sbin/nologin zabbix //新建用户
[root@node2 zabbix-4.0.30]# vim /usr/lib/systemd/system/zabbix-agent.service
[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=/apps/zabbix/etc/zabbix_agentd.conf"
EnvironmentFile=-/etc/default/zabbix-agent
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_agentd.pid
KillMode=control-group
ExecStart=/apps/zabbix/sbin/zabbix_agentd -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
User=zabbix
Group=zabbix
[Install]
WantedBy=multi-user.target
[root@node2 zabbix-4.0.30]#systemctl daemon-reload
[root@node2 zabbix-4.0.30]#systemctl start zabbix-agent.service
[root@node2 zabbix-4.0.30]#systemctl status zabbix-agent.service
6.2.2 修改配置文件
修改zabbix agent为主动模式
js
[root@node2 zabbix]#grep -in "^[a-Z]" /apps/zabbix/etc/zabbix_agentd.conf
30:LogFile=/tmp/zabbix_agentd.log
94:Server=192.168.125.120 //谁可以来获取数据
119:StartAgents=3
135:ServerActive=192.168.125.120 //谁是主,谁是我的server⭐
146:Hostname=192.168.125.100 //本机的主机名
[root@node2 zabbix]#vim /apps/zabbix/etc/zabbix_agentd.conf
修改第135 作为
94:Server=192.168.125.120 #谁可以来获取数据
135:ServerActive=192.168.125.120 #主动模式的zabbix server地址,这个设置相当于设置master是谁,就是server端
146:Hostname=192.168.125.100 #当前主机名字
[root@node2 zabbix]#systemctl restart zabbix-agent.service
6.2.3 生成主动模式模板
所有的模板基本上都是被动模式的模板,因为默认就是被动模式。
- 将模板改成主动模式的,可以使用克隆
- 点击全克隆
- 修改模板名称,后缀可以加上active(主动)
4. 点监控项,修改多个监控项。可以将类型改为主动、修改时间等,最后批量更新。
7、自定义模板⭐⭐⭐⭐⭐
自定义模板的前提是,必须要安装zabbix的server端和agent端。
7.1 修改agent配置文件,添加自定义项
js
[root@localhost zabbix]# vim /apps/zabbix/etc/zabbix_agentd.conf
283 ### Option: UserParameter
284 # User-defined parameter to monitor. There can be several user-defined parameters.
285 # Format: UserParameter=<key>,<shell command>
286 # See 'zabbix_agentd' directory for examples.
287 #
288 # Mandatory: no
289 # Default:
290 # UserParameter=
UserParameter=test,/usr/bin/echo hello //key值是前面的test是参数名,echo hello是参数值
#修改290 行或者新加一行 命令最好绝对路径
[root@localhost zabbix]# systemctl restart zabbix-agent.service
7.2 zabbix_get验证
在web页面之前,可以先在虚拟机中进行验证。因为web页面数据加载比较慢
js
server端:
`软链接:`
[root@localhost zabbix]# ln -s /apps/zabbix_server/bin/zabbix_get /usr/bin //做软链接,后面就可以直接使用zabbix_get命令
`命令验证:`
[root@localhost data]#/apps/zabbix_server/bin/zabbix_get -s 192.168.125.130 -p 10050 -k "test"
hello
7.3 添加脚本
js
agent端:
[root@localhost data]# vim tcp.sh
#!/bin/bash
num=$1
if [ $num == "cpu" ];then
echo 88
fi
验证:
js
server端:
[root@localhost data]# /apps/zabbix_server/bin/zabbix_get -s 192.168.125.xxx -p 10050 -k "test[cpu]"
7.4 web界面 添加模板
新建模板:模板名称(不能有中文)
7.5 应用集
应用集不重要,可写可不写
7.6 监控项
添加监控项:监控项名称可以有中文
7.7 触发器
触发器会设置一个阈值,当达到这个阈值时,就会触发告警,告警也可以按照事件的严重性进行设置。
7.8 添加图形
创建图形,一个模板内会有多个监控项和触发器,但是可以只有一个图形。
重点:zabbix怎么自定义模板?⭐
js
模板由应用集、监控项、触发器、图形组成。
1、首先,修改agent配置文件,加入监控项的键
2、在server端使用zabbix_get,测试是否能获取到数据
3、在web页面添加模板
4、在模板中设置监控项、触发器、图形等
8、重点总结:
1、五大性能命令
- cpu(命令:top)
- 内存(命令:free)
- 硬盘使用率(命令:df)
- 硬盘IO(命令:iostat)
- 进程数(命令:ps aux)
2、zabbix 端口号
- server 10051
- agent 10050
- java网关 10052
3、zabbix
- server 服务端
- agent 客户端
- java-gateway 检测java程序
- proxy 代理
4、主动模式和被动模式
主动模式和被动模式,都是相对于agent而言
-
当不含proxy时
- 主动:agent主动连接server
- 被动:agent被动等待server连接
-
当包含proxy时
-
主动:agent主动连接proxy,proxy再转给server
-
被动:agent被动等待proxy连接,proxy再转给server
公司一般用主动模式:把监控项改成主动,把server-active改成server的ip。被动模式对server压力太大了。
-
5、重点:zabbix怎么自定义模板?⭐
vbscript
模板由应用集、监控项、触发器、图形组成。
1、首先,修改agent配置文件,加入监控项的键
2、在server端使用zabbix_get,测试是否能获取到数据
3、在web页面添加模板
4、在模板中设置监控项、触发器、图形等
6、检测验证的命令
zabbix_get
snmpwalk是SNMP的一个工具
7、最常问的问题:怎么发现zabbix
- API接口
- 手动添加
- 自动发现
8、怎么监控mysql主从复制
用zabbix去监控从节点的io线程和sql线程