Zabbix 服务安装部署及监控配置
一、zabbix 简介
1.1、 zabbix 简介
官方网站:http://www.zabbix.com/
Zabbix 是企业级监控系统的开源解决方案,是一个基于 WEB 界面的分布式监控服务器。
主要特点:
Zabbix 安装不配置简单,学习成本低,支持多语言(包括中文),免费开源,自劢发现服务器不网络设备,分布式监视,良好的 WEB 界面交互等通知功能
Zabbix 主要监控服务器:CPU 负载、内存使用、磁盘使用、网络状态、端口监视、日志监视。
1.2 Zabbix 运行机制
Zabbix Server 可以通过 SNMP,Zabbix agent,Ping,端口监视等方法监控服务器状态。可以在 Linux,Solaris,HP-UX,AIX,FreeBSD,OpenBSD,OX X,Windows 多平台运行。
Zabbix Agent 安装在被监控的服务器上,主要完成对内存,CPU,磁盘等信息收集。
Zabbix 运行过程图
(1)、Agent 从服务器中收集相关数据,传送给 Zabbix Server
(2)、Server 把数据存储到数据库中
(3)、Server 把数据分析之后以 Web 页面,展示出来。 zabbix-server 监听端口:10051 ; Agent 监控端口 10050 。服务端安装 Zabbix Server 和 Zabbix Agent 两个服务,客户端只安装 Zabbix Agent 一个服务。
二、Zabbix 服务安装部署及监控配置
2.1 安装 LAMP 环境我们需要先构建 LAMP 的环境,因为 Zabbix 通过 PHP 页面展示数据。
1、安装 lamp 环境
yum -y install httpd mariadb mariadb-server php php-mysql
2、安装 zabbix需要的 php 库
yum install php-bcmath php-gd php-ldap php-mbstring php-xml -y
2.2 安装 Zabbix-server
1、安装 zabbix yum 源
注:zabbix 官方源在中国无法使用,而且每个人网络环境无法保障,所以我们可以选择配置本地 yum源迚行离线安装。
上传离线本地 yum 源 zabbix-4.4.6.tar.gz
解压至/opt目录 tar xf zabbix-4.4.6.tar.gz -C /opt/
添加zabbix的本地yum源文件
vim /etc/yum.repos.d/zabbix4-4-6.repo
[zabbix4-4-6]
name=Zabbix4-4-6
baseurl=file:///opt/zabbix4-4-6
enabled=1
gpgcheck=0
另外一种使用国内 zabbix 的 yum 源;源地址:http://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/
或者使用清华开源镜像站:https://mirrors.tuna.tsinghua.edu.cn/zabbix/
创建repo文件写入以下内容:
vim /etc/yum.repos.d/zabbix.repo
[zabbix]
name=Zabbix Official Repository - $basearch
#baseurl=http://repo.zabbix.com/zabbix/4.4/rhel/7/$basearch/ baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.4/rhel/7/$basearch
enabled=1
gpgcheck=0
[zabbix-debuginfo]
name=Zabbix Official Repository debuginfo - $basearch baseurl=http://repo.zabbix.com/zabbix/4.4/rhel/7/$basearch/debuginfo/
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591 gpgcheck=0
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
#baseurl=http://repo.zabbix.com/non-supported/rhel/7/$basearch/ baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/non-supported/rhel/7/x86_64/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX gpgcheck=0
2、安装 zabbix server,web 前端,agent 客户端先安装依赖包:
[root@xuegod63 ~]# yum install OpenIPMI OpenIPMI-libs OpenIPMI-modalias unixODBC fping -y
[root@xuegod63 ~]# yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-get -y
注:每个软件包含义如下:
zabbix-server-mysql #zabbix服务器和数据结构的包
zabbix-web-mysql #zabbix 的 web 页面
zabbix-agent #客户端
zabbix-get #测试服务器和客户端通信
3、配置 Zabbix Server
1、启动数据库
[root@xuegod63 ~]# systemctl restart mariadb.service
[root@xuegod63 ~]# systemctl enable mariadb.service
[root@xuegod63 ~]# systemctl stop firewalld && systemctl disable firewalld #关闭防火墙
2、创建初始数据库
[root@xuegod63 ~]# mysql -uroot
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
注:character set utf8:设置数据库的默认字符集编码为 utf8 ;
collate utf_bin:是以二迚制值比较,也就是区分大小写,collate 是核对的意思
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'password'
注:创建 zabbix 用户,密码是 passwod
MariaDB [(none)]> exit;
[root@xuegod63 ~]# zcat /usr/share/doc/zabbix-server-mysql-4.4.6/create.sql.gz |
mysql -u zabbix -p zabbix
Enter password: 输入 password
扩展:zcat 命令 用于丌真正解压缩文件,就能显示压缩包中文件的内容的场合。
查看导入的表:
[root@xuegod63 ~]# mysql
MariaDB [(none)]> use zabbix;
MariaDB [zabbix]> show tables;
3、修改 Zabbix Server 配置文件
[root@xuegod63 ~]# vim /etc/zabbix/zabbix_server.conf
91 #DBHost=localhost #数据库的 IP 地址 ,默认就可以
100 DBName=zabbix #数据库名,默认就可以
116 DBUser=zabbix #连接数据库授的用户是 zabbix,默认就可以
改:124 # DBPassword=
为:DBPassword=password #mysql 用户 zabbix 的密码 password
注:到此,zabbix 可以连接数据库了。
查看 zabbix web 站点在 apache 中的别名并配置 php 的时区为亚洲/上海
注:Apache Alias 网站别名作用:为站点 URI 定义一个路径映射关系。
[root@xuegod63 ~]# vim /etc/httpd/conf.d/zabbix.conf
注:第 5 行的含意是: 当访问 http://192.168.1.63/zabbix 目录下的文件时,会直接从服务器
/usr/share/zabbix 目录下访问对应的文件。/usr/share/zabbix 下存储着 zabbix web 网站代码
改:20 # php_value date.timezone Europe/Riga
为:20 php_value date.timezone Asia/Shanghai
2.4、监控 Zabbix Server 本身
监控本身,意思是本身作为服务器之外,自己也做自己的客户端
[root@xuegod63 ~]# vim /etc/zabbix/zabbix_agentd.conf #使用默认就可以, 不用配置
98 Server=127.0.0.1 #指定 zabbix server服务器的 IP 地址
139 ServerActive=127.0.0.1 #开起主动模式
150 Hostname=Zabbix server
309 # UnsafeUserParameters=0 #丌安全的用户参数。是否允许自定义脚本传递特殊字符作为参数,通常不用开。
扩展:主劢模式流程如下:
(1)、Agent 主劢找 server 要需要采集的数据
(2)、Server 响应 Agent,发送要采的数据内容
(3)、Agent 开始周期性地收集数据
后期可以在配置时指定客户端主劢模式:
2.5 安装 Zabbix-Web前端页面启动服务
[root@xuegod63 ~]# systemctl restart zabbix-server zabbix-agent httpd mariadb
[root@xuegod63 ~]# systemctl enable zabbix-server zabbix-agent httpd mariadb
浏览器访问:http://192.168.3.63/zabbix ,下一步 Next
开始检查环境,确认所有选项都为 ok,才能执行下一步
如果不ok,可以编辑 php.ini 文件,修改环境
[root@xuegod63 ~]# vim /etc/php.ini
改:672 post_max_size = 8M 为:672 post_max_size = 16M
改:384 max_execution_time = 30 为:384 max_execution_time = 300
改:394 max_input_time = 60 为:394 max_input_time = 300
改:878 ;date.timezone = 为:878 date.timezone = Asia/Shanghai
#输入用于连接数据库的详细信息。Zabbix 数据库必须已经创建。
#请输入 Zabbix 服务器的主机名戒主机 IP 地址和端口号,以及安装的名称(可选),点击Next进行下一步。
#点击 Finish,完成安装!
登陆 Zabbix 并配置修改语言为中文, 默认用户名为 Admin,密码为 zabbix
注:用户名不是 admin 是 Admin
点击右上角用户,然后选择语言,然后 Update 即可,页面变为中文
点击配置-主机 启用本主机(默认没有启动,点击后面红色的停用,则启用)
三、配置监控 CentOS7-64 主机
3.1 安装配置 Agent
[root@xuegod64 ~]# systemctl stop firewalld && systemctl disable firewalld
被监控端只需要部署 agent 在 CentOS7-64 主机上 ,上传到 zabbix-agent-4.4.5-2.el7.x86_64.rpm 到 CentOS7-64 主机上
(该文件在之前zabbix-4.4.6.tar.gz压缩包中含有)
[root@CentOS7-64 ~]# rpm -ivh zabbix-agent-4.4.6-1.el7.x86_64.rpm
配置 Agentd 的配置文件
[root@CentOS7-64 ~]# vim /etc/zabbix/zabbix_agentd.conf
改:98 Server=127.0.0.1 为:98 Server=192.168.3.63 #zabbix server 地址,可以多个,用“,”隔开
改:139 ServerActive=127.0.0.1 为:139 ServerActive=192.168.3.63 #主劢检查本主机的数据发送给 Zabbix Server
改:150 Hostname=Zabbix server 为:150 Hostname=CentOS7-64
启动服务
[root@CentOS7-64 ~]# systemctl start zabbix-agent && systemctl enable zabbix-agent
[root@CentOS7-64 ~]# netstat -antup | grep 10050 #查看 10050 端口,已经监听
3.2 在 zabbix server 上测试通讯
zabbix_get 命令是在 server 端用来检查 agent 端的一个命令,在添加完主机戒者触发器后,不能正常获得数据,可以用 zabbix_get 来检查能否采集到数据,以便判断问题症结所在。
zabbix_get 参数说明:
-s --host: 指定客户端主机名戒者 IP
-p --port:客户端端口,默认 10050
-I --source-address:指定源 IP,写上 zabbix server 的 ip 地址即可,一般留空,服务器如果有多ip 的时候,你指定一个。
-k --key:你想获取的 key
[root@xuegod63 ~]# zabbix_get -s 192.168.3.64 -p 10050 -k system.uname
Linux xuegod64 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64
以上可以获取对方系统版本则证明没有问题。
扩展:
如果不知道 key 参数可以使用 zabbix_agentd -p 寻找自己想要找的参数
3.3 将 CentOS7-64 主机添加到 zabbix 服务器上并监控
设置指定客户端 Agent ip地址和端口
注:这里先不点添加,模板配置完后,再点添加。
选择 zabbix agent 模版监控模板,来监控 CentOS7-64 上运行状态,
添加一个操作系统模版,模版的是名字是:zabbix agent
模板选择时留意: zabbix agent 模版和 zabbix agent active 版本不能同时选择,有冲突。
选择模板后点击添加即可。
添加后状态为已吭劢,等待可用性也变为绿色就可以正常获取数据了。
查看监控到的数据,可以通过 监测-->图形,这里先查看磁盘使用情况:
注:红色代表已经使用了的空间,灰色代表还剩下的磁盘空间。
共有 0 条评论