一、关于zabbix zabbix官网
1、zabbix架构
- Zabbix Server:负责接收Agent发送的报告信息,组织所有配置、数据和操作。
- Database Storage:存储配置信息以及收集到的数据。
- Web Interface:Zabbix的GUI 接口,通常与Server运行在同一台机器上。
- Proxy:可选组件,常用于分布式监控环境中。
- Agent:部署在被监控主机上,负责收集数据发送给Server。
2、zabbix的工作流程
(1)Agent获取被监控端数据,发送给zabbix Server。
(2)Server记录所接收到的数据,存储在Database中并按照策略进行相应操作。
(3)Web Interface将收集到的数据和操作信息显示给用户。
二、实验环境的搭建
再rhel7.3环境下搭建
server1 172.25.58.1 zabbix-server,zabbix-web, mariadb-server 监控方
server2 172.25.58.2 zabbix-agent 被监控方
server3 172.25.58.3 zabbix-agent 被监控方
在真机上SSH三台服务器。
实验会用到:
zabbix-agent.:zabbix客户端,用来收集客户端各种参数
zabbix-get:zabbix的一个工具,用来检查是否可以获取服务器信息(一般服务端要安装)
zabbix-java-gateway:用于监控JMX应用的程序,它把收集到的信息发送给zabbix-server(这个看需求安装,我暂时没装)
zabbix-proxy:zabbix proxy可以代替zabbix server检索客户端的数据,然后把数据汇报给zabbix server,并且在一定程度上分担了zabbix server的压力。zabbix proxy可以非常简便的实现了集中式、分布式监控。
zabbix-release:会生成一个zabbix的yum源,可以直接下载相关软件包。
zabbix-sender:用于发送数据给server或者proxy。
zabbix-web:zabbix要使用web界面,这个包是用来处理Apache和PHP,mysql等之间的依赖关系。
zabbix-web-mysql:这个是zabbix前段支持mysql的
zabbix-web-japanese:支持日语
在zabbix官网下载好组件,然后在物理机上可以创建本地软件仓库,进行共享即可~
[root@foundation58 4.0]# ls
fping-3.10-1.el7.x86_64.rpm
iksemel-1.4-2.el7.centos.x86_64.rpm
php-bcmath-5.4.16-42.el7.x86_64.rpm
php-mbstring-5.4.16-42.el7.x86_64.rpm
zabbix-agent-4.0.5-1.el7.x86_64.rpm
zabbix-get-4.0.5-1.el7.x86_64.rpm
zabbix-java-gateway-4.0.5-1.el7.x86_64.rpm
zabbix-proxy-mysql-4.0.5-1.el7.x86_64.rpm
zabbix-sender-4.0.5-1.el7.x86_64.rpm
zabbix-server-mysql-4.0.5-1.el7.x86_64.rpm
zabbix-web-4.0.5-1.el7.noarch.rpm
zabbix-web-mysql-4.0.5-1.el7.noarch.rpm
[root@foundation58 4.0]# pwd
/var/www/html/4.0
[root@foundation58 4.0]# createrepo .
Spawning worker 0 with 3 pkgs
Spawning worker 1 with 3 pkgs
Spawning worker 2 with 3 pkgs
Spawning worker 3 with 3 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
三、监控端server1的搭建
安装zabbix-server服务、zabbix-web服务、数据库服务(这三个是整个zabbix的一套东西)
安装数据库,初始化密码westos
[root@server1 4.0]# yum install -y zabbix-server-mysql-4.0.5-1.el7.x86_64.rpm zabbix-web-mysql-4.0.5-1.el7.noarch.rpm zabbix-web-4.0.5-1.el7.noarch.rpm zabbix-agent-4.0.5-1.el7.x86_64.rpm php-mbstring-5.4.16-42.el7.x86_64.rpm php-bcmath-5.4.16-42.el7.x86_64.rpm fping-3.10-1.el7.x86_64.rpm iksemel-1.4-2.el7.centos.x86_64.rpm
[root@server1 4.0]# yum install -y mariadb-server
[root@server1 4.0]# systemctl start mariadb
[root@server1 4.0]# mysql_secure_installation
登陆数据库,创建zabbix数据库并且授权
[root@server1 4.0]# mysql -pwestos
create database zabbix character set utf8 collate utf8_bin; 字符 校验字符
grant all privileges on zabbix.* to zabbix@localhost identified by 'westos';
导入zabbix数据库并且查看
cd /usr/share/doc/zabbix-server-mysql-4.0.5/
zcat create.sql.gz | mysql -p zabbix
zcat=gzip + cat 把这个数据库导入zabbix这个数据库中
再次登录数据库可以看到zabbix数据库里面有很多表格以及数据
导入后登陆查看有没有zabbix这个数据库,以及其中的表
编辑zabbix的配置文件,修改zabbix数据库密码(此密码是在数据库对zabbix用户进行授权时候的密码)以及时区
修改后开启服务,并设置开机自启
cd /etc/zabbix/
vim zabbix_server.conf
124 DBPassword=westos 修改密码 124行
systemctl start zabbix-server
systemctl enable zabbix-server
ps ax 如果有与数据库zabbix-server有关的选项 则成功。
或者查看日志
cat /var/log/zabbix/zabbix_server.log
修改时区
cd /etc/httpd/conf.d/
vim zabbix.conf
修改: 20 行的时区 php_value date.timezone Asia/Shanghai
[root@server1 conf.d]# systemctl start httpd
[root@server1 conf.d]# systemctl enable httpd
在真机中打开浏览器,测试
在浏览器页面输入http://172.25.58.1/zabbix,开始在zabbix的web页面进行设置
登录之后可以修改监控界面的语言为中文,点击右上角用户图表
点击【配置】–>【主机】,查看server的状态
可以看到zabbix监控的名称zabbix-server是自己,但是还没有安装zabbix-agent,因此安装了之后才会变绿,才可以对自己进行相关监控
可用性ZBX表示对自己的监控还没有开启,要监控自己,首先要安装被监控的服务zabbix-agent
安装zabbix-agent客户端,对自己也监控一下
yum install zabbix-agent -y
systemctl start zabbix-agent
systemctl enable zabbix-agent
netstat -ntlp 查看端口 agent是10050 server是10051
命令行也可以查看到10050端口已经打开
看到已经可以监控自身了
四、web界面添加agent被监控端(server2、server3)
1、手动添加
2、自动发现
3、自动注册