工作原理
一个监控系统运行的大概的流程是这样的:
zabbix agent需要安装到被监控的主机上,它负责定期收集各项数据,并发送到zabbix server端,zabbix server将数据存储到数据库中,zabbix web根据数据在前端进行展现和绘图。这里agent收集数据分为主动和被动两种模式:
主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy
被动:server向agent请求获取监控项的数据,agent返回数据。
Zabbix组件
zabbix由以下几个组件部分构成:
1、Zabbix Server(核心):负责接收agent发送的报告信息的核心组件,所有配置,统计数据及操作数据均由其组织进行;
2、Database Storage(数据库):专用于存储所有配置信息,以及由zabbix收集的数据;
3、Web interface:zabbix的GUI接口,通常与Server运行在同一台主机上;
4、Proxy:可选组件,常用于分布监控环境中,代理Server收集部分被监控端的监控数据并统一发往Server端;
5、Agent:部署在被监控主机上,负责收集本地数据并发往Server端或Proxy端;
zabbix-server安装步骤
1、配置yum源:
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
2、下载repo文件:
wget http://mirrors.aliyun.com/repo/Centos-7.repo
备份并替换系统的repo文件:
cp Centos-7.repo /etc/yum.repos.d/;cd /etc/yum.repos.d/;mv CentOS-Base.repo CentOS-Base.repo.bak;mv Centos-7.repo CentOS-Base.repo
3、关闭selinux
编辑内核配置文件:vi /etc/selinux/config
修改:SELINUX=enforcing
改为SELINUX=disabled
注释:#SELINUXTYPE=targeted
重启虚拟机:reboot
启动后查看: /usr/sbin/sestatus -v
检查状态是否为无效,是则表示关闭,显示如下情况则正常:SELinux status:disabled
打开80端口:firewall-cmd --zone=public --add-port=80/tcp --permanent
防火墙重新载入,是端口生效firewall-cmd --reload
4、执行yum源更新命令
yum clean all
5、更换zabbix国内源
vim /etc/yum.repos.d/zabbix.repo
更换成以下内容:
[zabbix]
name=Zabbix Official Repository - \$basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/\$basearch/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - \$basearch
baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/\$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=0
6、添加gpgkey
curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591 \
-o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX \
-o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
7、更新源:
yum makecache -y
8、安装相关软件:
yum install zabbix-server zabbix-web zabbix-server-mysql zabbix-web-mysql mariadb-server mariadb zabbix-agent zabbix-get -y
9、修改PHP的时区设置
进入vi /etc/httpd/conf.d/zabbix.conf
将<IfModule mod_php5.c>
中的 php_value date.timezone块的注释打开并且修改时区为Asia/Shanghai, 如下:php_value date.timezone Asia/Shanghai
10、启动zabbix-server
systemctl start zabbix-server
systemctl enable zabbix-server
11、启动mysql数据库
systemctl start mariadb
systemctl enable mariadb
12、启动apache
systemctl restart httpd
systemctl enable httpd
13、数据库初始化:
mysql_secure_installation
说明: 这一步 会有多次交互,请适当选择,怎么选择请自行解决。
交互步骤:
Enter currentr password for root (enter for none): #直接回车
Set root password? 【y/n】 y #输入y
New password: #输入zabbix
Re-enter new password: #输入zabbix
Remove anonymous users?【y/n】y #输入y
Disallow root login remotely? [y/n] n #输入n
Remove test database and access to it?[y/n] y #输入y
Reload privilege tables now ? [y/n] y #输入y
14、利用root用户创建zabbix数据库:
mysql -uroot -pzabbix -e "create database zabbix default character set utf8 collate utf8_bin;"
15、给zabbix赋所有权限:
mysql -uroot -pzabbix -e "grant all on zabbix.* to 'zabbix'@'%' identified by 'zabbix';"
mysql -uroot -pzabbix -e "grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix';"
16、导入zabbix数据
cd /usr/share/doc/zabbix-server-mysql-3.0.32
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p'zabbix' zabbix
17、修改zabbix配置文件
vim /etc/zabbix/zabbix_server.conf
DBHost=localhost #数据库所在主机
DBName=zabbix #数据库名
DBUser=zabbix #数据库用户
DBPassword=zabbix #数据库密码
18、启动zabbix及httpd
systemctl restart httpd.service
systemctl restart zabbix-server.service
systemctl restart zabbix-agent.service
19、修改vi /etc/httpd/conf.d/zabbix.conf
将以下三行注释掉:
#AllowOverride None
#Order allow,deny
#Allow from all
上面的位置下增加:
AllowOverride All
Require all granted
重启httpdsystemctl restart httpd.service
20、测试zabbix web
在物理机器浏览器上输入下面的地址:http://192.168.1.23/zabbix/setup.php --此IP为安装的服务器IP
注意:进入页面后,会需要输入一些配置信息,请按之前的配置数据库配置信息进行。
数据库账号 页面中:zabbix/zabbix
Zabbix server details 页面中name: zabbix
zabbix默认登录账户和密码:Admin/zabbix
zabbix-server同样需要配置zabbix_agent
21、配置zabbix-agentd.conf
vi /etc/zabbix/zabbix_agentd.conf
Server= #本机IP
ServerActive= #本机IP
Hostname=zabbix-server #主机名
重启agent:
systemctl restart zabbix-agent
systemctl enable zabbix-agent
22、配置防火墙 agent和server的通讯端口 agent:10050 server:10051
firewall-cmd --zone=public --add-port=10050/tcp --permanent
firewall-cmd --zone=public --add-port=10051/tcp --permanent
firewall-cmd --reload
验证
服务端可以使用zabbix_get命令获得客户机的项目信息,有时也用这些命令验证与客户机的联通性
1.获得客户机的版本信息:zabbix_get -s 192.168.1.1 -k system.uname
--这里的IP是客户机的IP。
2.获得客户机的cpu load信息zabbix_get -s 192.168.1.1 -p 10050 -k "system.cpu.load[all,avg1]"
--这里的IP是客户机的IP。
Comments NOTHING