Zabbix
一、部署Zabbix-server服务器
1.1 Yum源和zabbix服务端软件
代码语言:javascript代码运行次数:0运行复制# 网络源
rpm -ivh .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代码语言:javascript代码运行次数:0运行复制zabbix服务程序软件:zabbix-server-mysql
zabbix服务web软件:zabbix-web-mysql httpd php zabbix-web
数据库服务软件:mariadb-server
php连接mysql软件:php-mysql1.2 配置zabbix-server
(1)修改zabbix_server配置文件
代码语言:javascript代码运行次数:0运行复制[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)修改时区
代码语言:javascript代码运行次数:0运行复制[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)配置数据库服务
代码语言:javascript代码运行次数:0运行复制[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程序
代码语言:javascript代码运行次数:0运行复制[root@zabbix ~]# systemctl start zabbix-server
[root@zabbix ~]# systemctl enable zabbix-server
[root@zabbix ~]# systemctl start httpd
[root@zabbix ~]# systemctl enable httpd1.3 zabbix web页面安装
代码语言:javascript代码运行次数:0运行复制# 登录zabbix服务端界面进行初始化操作
.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介绍、安装与配置教程
代码语言:javascript代码运行次数:0运行复制# 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-cluster2.2 修改zabbix-agent配置
代码语言:javascript代码运行次数:0运行复制[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修改对应的主机名。
代码语言:javascript代码运行次数:0运行复制# 利用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.conf2.3 启动zabbix-agent
代码语言:javascript代码运行次数:0运行复制[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 批量添加
代码语言:javascript代码运行次数:0运行复制配置—主机 — 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模板监控项
代码语言:javascript代码运行次数:0运行复制[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)查看模板
配置—主机
模板包含的内容
代码语言:javascript代码运行次数:0运行复制应 用 集:对监控项进行分类。
监 控 项:收集监控数据的方法。(key)
触 发 器:实现报警提示,需要根据监控项收集的数据进行触发。(表达式)
图 形:实现数据的出图现实。
聚合图形:把图形合在一起。
自动发现:实现主机自动添加。
Web 监测:对网站页面进行监测

发布评论