栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

【 Zabbix 】

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【 Zabbix 】

一、Zabbix-server部署

1.获取zabbix官⽅源

rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
# 修改为阿里源
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
yum clean all
yum makecache

2.安装zabbix server和agent

yum install zabbix-server-mysql zabbix-agent -y

3.安装 Software Collections

yum install centos-release-scl -y

4.修改zabbix前端源

vim /etc/yum.repos.d/zabbix.repo 
[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$b
asearch/frontend
enabled=1     #修改这⾥为1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

5.安装zabbix前端环境

yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y

6.安装zabbix所需的数据库,直接⽤centos7⾃带的mariadb

yum install mariadb-server -y

7.启动数据库,且配置开机启动

systemctl enable --now mariadb
#Created symlink from /etc/systemd/system/multiuser.target.wants/mariadb.service to/usr/lib/systemd/system/mariadb.service.

8.初始化mariadb,设置root密码,123456

mysql_secure_installation

9.使⽤root⽤户登录mariadb,建⽴zabbix数据库,这⾥的编码设置,⾮常重要,否则zabbix⽆法安装

create database zabbix character set utf8 collate utf8_bin;
create user zabbix@localhost identified by '123456';
grant all privileges on zabbix.* to zabbix@localhost;
flush privileges;
quit;

10.导⼊ zabbix 数据库,zabbix 数据库⽤户为 zabbix,密码为123456

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

11.修改 zabbix server 配置⽂件/etc/zabbix/zabbix_server.conf⾥的数据库密码

grep '^DBPassword' /etc/zabbix/zabbix_server.conf
DBPassword=123456

12.修改 zabbix 的 php 配置⽂件 /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf ⾥的时区

grep 'timezone' /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai

13.启动相关服务

systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

14.访问zabbix⼊⼝

$ip/zabbix
#登录账号为 Admin,密码:zabbix,注意⼤⼩

15.为修改中文界面

User settings > Language > Chinses

16.主机图表中文乱码问题

# 安装字体,这里选择文泉驿微米黑字体
yum install -y wqy-microhei-fonts.noarch
update-alternatives --install /usr/share/zabbix/assets/fonts/graphfont.ttf zabbix-web-font /usr/share/fonts/wqy-microhei/wqy-microhei.ttc 10
# 配置字体
update-alternatives --config zabbix-web-font
# 重启Zabbix-Server服务
systemctl restart zabbix-server
二、Zabbix-agent2部署

1.获取zabbix官⽅源

rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
# 修改为阿里源
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
yum clean all
yum makecache

2.注意时间正确

yum install ntpdate -y
ntpdate -u ntp.aliyun.com
# 修改时区
mv /etc/localtime{,.bak}
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

3.安装zabbix-agent2

yum install zabbix-agent2 -y
# 默认配置文件
/etc/zabbix/zabbix_agent2.conf
# 默认二进制文件
/usr/sbin/zabbix_agent2

6.启动zabbix-agent2且开机⾃启

systemctl enable --now zabbix-agent2

7.检查端口

netstat -ntlp | grep zabbix
tcp6 0 0 :::10050 :::*  LISTEN 1236/zabbix_agent2

8.修改配置文件

grep -Ev '^#|^$' /etc/zabbix/zabbix_agent2.conf
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=1.1.1.1         #修改为本机ip
ServerActive=2.2.2.2   #修改为Zabbix-server机ip
Hostname=zbz-agent-1   #修改为本机主机名
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock

9.重启zabbix-agent2

systemctl restart zabbix-agent2
三、Zabbix词汇
zabbix server       服务端,收集数据,写⼊数据
zabbix agent        部署在被监控的机器上,是⼀个进程,和zabbix server进⾏交互,以及负责执⾏命令
Host                服务器的概念,指zabbix监控的实体,服务器,交换机等
Hosts               主机组
Applications        应⽤
Events              事件
Media               发送通知的通道
Remote command      远程命令
Template            模板
Item                对于某⼀个指标的监控,称之为Items,如某台服务器的内存使⽤状况,就是⼀个item监控项
Trigger             触发器,定义报警的逻辑,有正常,异常,未知三个状态
Action              当Trigger符合设定值后,zabbix指定的动作
四、Zabbix程序组件
Zabbix_server       服务端守护进程
Zabbix_agentd       agent守护进程
zabbix_proxy        代理服务器
zabbix_database     存储系统,mysql,pgsql
Zabbix_web          web GUI图形化界⾯
Zabbix_get          命令⾏⼯具,测试向agent发起数据采集请求
Zabbix_sender       命令⾏⼯具,测试向server发送数据
Zabbix_java_gateway java⽹关
五、Zabbix_get工具使用
zabbix_get -s '1.1.1.1' -p 10050 -k 'system.hostname'   #获取主机名
zabbix_get -s '1.1.1.1' -p 10050 -k 'system.uname'      #获取内核信息

常用key
agent.ping               #ping存活探测 1为通 0为不通
net.tcp.port[,3306]      #探测3306端口是否启用 1为启用 0为关闭
proc.num[mysqld]         #获取mysqld的进程数
system.cpu.num           #获取cpu核数
system.uname             #获取系统信息
system.hostname          #获取主机名
net.if.out[eth0,bytes]   #获取eth0网卡出口流量
net.if.in[eth0,bytes]    #获取eth0网卡监控流量
net.if.discovery         #自动发现网卡并监控流量
vm.memory.size[total]    #查看系统内存大小 单位bytes
vfs.file.size[file]      #查看文件大小 单位bytes
vfs.file.exists[file]    #查看文件是否存在 存在返回0 0不存在返回1
vfs.file.md5sum[file]    #查看文件md5值
vfs.fs.discovery         #自动发现分区及分区挂在情况

#以上是常用的key,其实监控服务器无非就是内存、硬盘占用、CPU负载、流量、服务器和端口等情况。
#如果要监控其他的可以自定义key来实现,本人喜欢自定义key,写个脚本来返回,得到自己想要的监控结果。
#zabbix在这块做的非常好,扩展性很强,支持各种脚本来实现自定义的key。
六、自定义监控key

添加主机可默认使用linux-server群组 linux-server模板监控
1.配置文件路径

/etc/zabbix/zabbix_agent2.d/

2.配置文件导入

# zabbix配置⽂件,⼤多数软件配置都会使⽤include形式来优化配置⽂件
grep -i '^include' /etc/zabbix/zabbix_agent2.conf
Include=/etc/zabbix/zabbix_agent2.d/*.conf
#也可以单独Include指定某个conf
Include=/etc/zabbix/zabbix_agent2.d/keys.conf

3.自定义key语法

UserParameter=,
UserParameter=login.user,who|wc -l
UserParameter=login.user2,/bin/sh /server/scripts/login.sh
# 要注意的是key名要唯⼀,可以写⼊多个key

4.重启重载zabbix-agent2

# 每次新增或修改都需要重载生效
systemctl restart zabbix-agent2

5.zabbix-server端测试

zabbix_get -s '1.1.1.1' -p 10050 -k "login.user"

6.dashboard页面配置

创建模板
创建应⽤集:对监控项分类
创建监控项:定义item,监控的内容
创建触发器:当监控项获取到值,且达到触发条件就会告警
创建图形
主机进⾏模板关联:一个主机可以关联多个模板
七、邮件报警

1.dashboard界面配置

界面 > 管理 > 报警媒介 > Email   #本次使用个人163邮箱测试
SMTP服务器:smtp.163.com
端口:25
SMTP HELO:163.com
SMTP电邮:*.163.com
用户密码认证:密码为网易邮箱授权码

2.网易授权码获取

界面 > 设置 > POP3/SMTP/IMAP > 开启SMTP

3.设置收件人邮箱

界面 > 用户设置 > 报警媒介 > 添加
八、zabbix接口
curl -i -X POST -H 'Content-Type:application/json' -d'{"jsonrpc":"2.0","method":"user.login","params":{"user":"Admin","password":"zabbix"},"auth": null,"id":0}' "http://192.168.100.30/zabbix/api_jsonrpc.php"
九、监控服务通用方法

1.服务端口监控

自带端口监控key:net.tcp.port[,3306]
或者自建key 使⽤netstat、ss、lsof等命令
结合grep查看是否有结果

2.进程监控

自带进程监控key:proc.num[mysqld]
或创建key 通过ps结合grep查看

3.模拟客户端探测

web服务,通过curl、wget命令访问
mysql,SQL语句验证
memcached,set写⼊,get获取,查看结果
十、自动发现/自动注册

被动模式

1.配置自动发现规则
界面 > 配置 > 自动发现 > 创建规则
2.创建发现自动注册动作
界面 > 动作 > 操作细节

主动模式

1.新增机器配置zabbix-agent2 参照本文二配置
修改配置文件步骤多一行
HostnameItem=system.hostname
2.启动zabbix-agent2
systemctl start zabbix-agent2
3.创建动作
界面 > 配置 > 动作 > Autoregistration actions > 创建动作 > 条件 > 主机名称 包含 主机名特定值 > 操作 > 添加主机 群组 模板
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/859255.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号