Zabbix-Server实现监控主机服务器
一、部署Zabbix-server服务器
1.1 Yum源和zabbix服务端软件
# 网络源 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服务端相关软件 [root@zabbix ~]# yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-web httpd php php-mysql mariadb-server
zabbix服务程序软件:zabbix-server-mysql
zabbix服务web软件:zabbix-web-mysql httpd php zabbix-web
数据库服务软件:mariadb-server
php连接mysql软件:php-mysql
1.2 配置zabbix-server
(1)修改zabbix_server配置文件
[root@zabbix ~]# egrep -v '^#|^$' /etc/zabbix/zabbix_server.conf LogFile=/var/log/zabbix/zabbix_server.log LogFileSize=0 PidFile=/var/run/zabbix/zabbix_server.pid SocketDir=/var/run/zabbix DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbix SNMPTrapperFile=/var/log/snmptrap/snmptrap.log Timeout=4 AlertScriptsPath=/usr/lib/zabbix/alertscripts ExternalScripts=/usr/lib/zabbix/externalscripts LogSlowQueries=3000
(2)修改时区
[root@zabbix ~]# vim /etc/httpd/conf.d/zabbix.conf 在21行添加:php_value date.timezone Asia/Shanghai 或者在php.ini文件修改 [root@zabbix ~]# vim /etc/php.ini date.timezone = Asia/Shanghai
(3)配置数据库服务
[root@zabbix ~]# systemctl start mariadb [root@zabbix ~]# systemctl enable mariadb [root@zabbix ~]# mysqladmin -uroot password 123456 [root@zabbix ~]# mysql -uroot -p123456 MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin; MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix'; MariaDB [(none)]> flush privileges; MariaDB [(none)]> quit # 导入数据库 [root@zabbix ~]# yum install -y mlocate [root@zabbix ~]# updated # 刷新 [root@zabbix ~]# locate create.sql # 查找 /usr/share/doc/zabbix-server-mysql-4.0.6/create.sql.gz [root@zabbix ~]# zcat /usr/share/doc/zabbix-server-mysql-4.0.6/create.sql.gz | mysql -uroot -p zabbix Enter password:mairadb # 数据库root密码
(4)启动zabbix程序
[root@zabbix ~]# systemctl start zabbix-server [root@zabbix ~]# systemctl enable zabbix-server [root@zabbix ~]# systemctl start httpd [root@zabbix ~]# systemctl enable httpd
1.3 zabbix web页面安装
# 登录zabbix服务端界面进行初始化操作 http://10.25.25.26/zabbix/setup.php 10051 zabbix-server # 服务端端口号 10050 zabbix-agent # 客户端端口号 /etc/zabbix/web/zabbix.conf.php # 记录web页面初始化信息
【注】zabbix默认用户名:Admin 默认密码:zabbix
1.4 zabbix中文页面设置
二、部署zabbix-agent客户端
zabbix监控页面-[配置]-[主机]-[创建主机]
创建主机进行配置
主机选项卡:
主机名称配置:监测的主机名称,最好名称后面加ip地址
群组配置:把有关的设备放在一个组里面
代理程序的接口:agent端口10050
模板选项卡:
链接指示器:选择—Template OS Linux—添加
2.1 ansible批量安装zabbix-agent
推荐文章:Ansible介绍、安装与配置教程
# ansible调用yum模块进行安装zabbix-agent [root@ansible ~]# ansible -i /etc/ansible/hosts web-cluster -m yum -a "name=zabbix-agent state=latest" [root@ansible ~]# ansible -m command -a "zabbix_agentd -V" web-cluster
2.2 修改zabbix-agent配置
[root@ansible ~]# egrep -v '^#|^$' /etc/zabbix/zabbix_agentd.conf PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server=10.25.25.26 # zabbix-server服务器 ServerActive=10.25.25.26 Hostname= # 留空 Include=/etc/zabbix/zabbix_agentd.d/*.conf
【注意】其余agent主机按照上面进行配置,只有Hostname修改对应的主机名。
# 利用ansible的copy模块复制到主机清单所有的主机里面 [root@ansible ~]# ansible -i /etc/ansible/hosts web-cluster -m copy \ -a "src=/etc/zabbix/zabbix_agentd.conf dest=/etc/zabbix/ owner=root group=root mode=0644" # 其余主机修改Hostname [root@nginx-1 ~]#sed -i 's/Hostname=/Hostname=nginx-1/' /etc/zabbix/zabbix_agentd.conf [root@nginx-2 ~]#sed -i 's/Hostname=/Hostname=nginx-1/' /etc/zabbix/zabbix_agentd.conf
2.3 启动zabbix-agent
[root@zabbix ~]# systemctl restart zabbix-agent [root@zabbix ~]# systemctl enable zabbix-agent [root@ansible ~]# ansible -m command -a "systemctl restart zabbix-agent" web-cluster [root@ansible ~]# ansible -m command -a "systemctl enable zabbix-agent" web-cluster
异常问题总结:无法实现zabbix-server对zabbix-agent监控
(1)服务端没有指定配置好监控的主机也就是zabbix页面
(2)客户端没有安装好软件或者启动好服务
(3)客户端没有配置好配置文件
2.4 批量添加
配置—主机 — ZabbixServerAgent10.25.25.26 — 克隆
只修改:主机名称和agent代理程序的接口 — 添加
三、配置自动发现
3.1 自动发现规则
(1)配置—自动发现—创建发现规则
自动发现:顾名思义自动取发现一些主机。需要设置规则和动作。
(2)配置发现的IP范围及选择是通过ICMP ping来发现主机
3.2 自动发现动作
(1)动作:配置—动作—事件源,自动发现—创建动作
(2)操作
四、图形乱码问题解决
监测—图形
# 解决办法:替换字体 [root@zabbix ~]# find / -name graphfont.ttf /usr/share/zabbix/assets/fonts/graphfont.ttf [root@zabbix ~]#cd /usr/share/zabbix/assets/fonts/ [root@zabbix fonts]# ls graphfont.ttf [root@zabbix fonts]# rz [root@zabbix fonts]# ls graphfont.ttf STSONG.TTF [root@zabbix fonts]# mv graphfont.ttf graphfont.ttf.bak [root@zabbix fonts]# mv STSONG.TTF graphfont.ttf [root@zabbix fonts]# chmod 777 graphfont.ttf
五、模板简介
5.1 Template OS Linux模板监控项
[root@zabbix ~]# yum install -y zabbix-get [root@zabbix ~]# zabbix_agentd -p # 列出所有内置监控项信息
Name | Key | 释义 | |
---|---|---|---|
1 | Agent ping | agent.ping | ping一下 |
2 | Available memory | vm.memory.size[available] | 可用的内存大小 |
3 | Checksum of /etc/passwd | vfs.file.cksum[/etc/passwd] | 通过文件的chsum码检测完整性 (效验文件的自己数cksum /etc/passwd回显为效验码,对指定文件进行CRC效验) |
4 | Context switches per second | system.cpu.switches | CPU上下文交换数量(vmstat -w #cs字段) |
5 | CPU system time | system.cpu.util[,system] | 系统进程占用的CPU时间百分比 |
6 | CPU iowait time | system.cpu.util[,iowait] | IO等待占用的CPU时间百分比 |
7 | CPU nice time | system.cpu.util[,nice] | 改变优先级的进程占用 |
8 | CPU steal time | system.cpu.util[,steal] | 虚拟服务占用的CPU时间百分比 |
9 | CPU user time | system.cpu.util[,user] | 用户进程占用CPU时间百分比 (已使用的cpu) |
10 | CPU softirq time | system.cpu.util[,softirq] | 软中断占用的CPU时间百分比 |
11 | CPU idle time | system.cpu.util[,idle] | CPU空闲时间百分比 (空间cpu) |
12 | CPU interrupt time | system.cpu.util[,interrupt] | 中断占用的CPU时间百分比 |
13 | Free swap space | system.swap.size[,free] | swap分区空闲容量 (free -m) |
14 | Free swap space in % | system.swap.size[,pfree] | swap分区空闲容量百分比 (free -m) |
15 | Host boot time | system.boottime | 系统本次启动的时间(who -b) |
16 | Host local time | system.localtime | 当前系统时间 (unix时间戳转换) |
17 | Host name | system.hostname | 主机名 (hostname) |
18 | Host name of zabbix_agentd running | agent.hostname | Zabbix客户端配置的主机名(agent配置文件host=) |
19 | Interrupts per second | system.cpu.intr | 设备中断次数 |
20 | Maximum number of opened files | kernel.maxfiles | 系统支持的打开文件最大数量(cat /proc/sys/fs/file-max ) |
21 | Maximum number of processes | kernel.maxproc | 系统支持的最大进程数 (cat /proc/sys/vm/max_map_count) |
22 | Number of logged in users | system.users.num | 系统当前登陆的用户个数(w命令,tty列) |
23 | Number of processes | proc.num[] | 系统当前的进程数 (top命令,Tasks: 108 total) |
24 | Number of running processes | proc.num[,,run] | 系统当前运行的进程数 (top命令,running) |
25 | Processor load(1 min average per core) | system.cpu.load[percpu,avg1] | 一分钟内每个cpu平均负载(top命令,load average) |
26 | Processor load(5 min average per core) | system.cpu.load[percpu,avg5] | 五分钟内每个cpu平均负载(top命令,load average) |
27 | Processor load(15 min average per core) | system.cpu.load[percpu,avg15] | 十五分钟内每个cpu平均负载(top命令,load average) |
28 | System information | system.uname | 内核名 (uname) |
29 | System uptime | system.uptime | 系统已经启动了多长时间(秒换算天) |
30 | Total memory | vm.memory.size[total] | 内存总大小 (字节换算mb) |
31 | Total swap space | system.swap.size[,total] | swap分区总大小(字节换算mb) |
32 | Version of zabbix_agent(d) running | agent.version | 客户端版本 (客户端zabbix-agent版本) |
33 | Network incoming on eth0 | net.if.in[eth0,bytes] | 网卡的流入流量统计 |
34 | Network outcoming on eth0 | net.if.out[eth0,bytes] | 网卡的流出流量统计 |
5.2 模板概念
新建并链接模板
(1)配置—模板—创建模板
(2)链接模板
配置—模板—搜索名称—OS Linux—链接的模板—选择—群组—选择自定义的模板—更新
(3)查看模板
配置—主机
模板包含的内容
应 用 集:对监控项进行分类。
监 控 项:收集监控数据的方法。(key)
触 发 器:实现报警提示,需要根据监控项收集的数据进行触发。(表达式)
图 形:实现数据的出图现实。
聚合图形:把图形合在一起。
自动发现:实现主机自动添加。
Web 监测:对网站页面进行监测
随便看看
- 2022-10-01MongoDB切换主节点技巧
- 2021-04-17Linux修改系统时区
- 2021-07-20CI/CD Pipeline之Gitlab部署
- 2021-09-14开源安全扫描工具OpenSCAP介绍
- 2021-04-03CentOS7安装部署PostgreSQL 12数据库