简介
为了能够更好的监控和管理服务器,我们可以选择开源的zabbix软件。zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。Zabbix主要是有zabbix-server和zabbix-agent组成。
zabbix server主要是通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器和网络状态的监控。
zabbix agent需要安装在被监控服务器上,它主要完成对硬件信息或与操作系统的内存和CPU等相关信息的采集。
参考文章:http://www.cnblogs.com/XYJK1002/p/5324293.html
参考文章:http://www.cnblogs.com/ilanni/p/5452223.html
部署架构
服务器:10.190.130.73,安装mysql数据库
服务器:10.190.130.74,安装配置httpd和zabbix-server服务
服务器:10.190.130.28,安装zabbix-agent,用来监控服务器。
安装zabbix部署环境
部署zabbix系统需要安装LAMP环境,以下是安装过程:
在Centos7下安装PHP环境:
在线安装PHP:yum install php
安装php的扩展:
yum install php-mysql php-gd php-ldap php-odbc php-pear php-xmlphp-xmlrpc
安装
yum install net-snmp net-snmp-devel net-snmp-libs net-snmp-utilsphp-snmp
Zabbix下载地址:
zabbix-release-3.2-1.el7.noarch.rpm
下载页面:http://www.zabbix.com/download
下载版本页面:http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/
上传zabbix安装包到服务器
通过FTP工具,将文件上传到服务器:
zabbix-release-3.2-1.el7.noarch.rpm
zabbix-server-mysql-3.2.0-1.el7.x86_64.rpm
zabbix-web-mysql-3.2.0-1.el7.noarch.rpm
在cd /user/local/zabbix目录下可以看到上传的文件。
文件授权
由于RPM文件没有执行权限,所以进行授权操作。
文件授权命令:
chmod 766zabbix-release-3.2-1.el7.noarch.rpm
chmod 766zabbix-server-mysql-3.2.0-1.el7.x86_64.rpm
chmod 766zabbix-web-mysql-3.2.0-1.el7.noarch.rpm
安装zabbix
使用离线安装命令进行安装zabbix
rpm -ivh zabbix-server-mysql-3.2.0-1.el7.x86_64.rpm
除了使用zabbix离线安装包进行安装,当然也可以在线安装zabbix。
在线安装命令:
rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
在线安装的官方参考地址:
https://www.zabbix.com/documentation/3.2/manual/installation/install_from_packages/repository_installation
官方提供的下载安装方式
由于安装zabbix-server-mysql-3.2.0-1.el7.x86_64.rpm和
zabbix-web-mysql-3.2.0-1.el7.noarch.rpm需要下载多个依赖安装包,所以精选在线安装下载,可避免繁琐的下载工作。官方的在线安装参考地址:
创建数据库初始化
连接数据库后,创建zabbix数据库,并对数据库进行授权。
mysql -uroot –p
create database zabbix character set utf8collate utf8_bin;
grant all privileges on zabbix.* to'zabbix'@'%' identified by '123qweQWE';
注意:@后面如果是localhost的话,只能本地访问数据库服务器,如果是%,访问不受限制。
输入cd /usr/share/doc/zabbix-server-mysql-3.2.1命令进入到目录下,修改create.sql.gz文件的权限,授权可执行权限。Create.sql.gz文件是安装
zabbix-server-mysql-3.2.0-1.el7.x86_64.rpm时,产生的文件。
输入命令,连接远程的数据库,执行本地的create.sql.gz文件,初始化数据库脚本。
zcat create.sql.gz | mysql -h 10.190.130.73-uzabbix -p123qweQWE zabbix;
zcat/usr/share/doc/zabbix-server-mysql-3.2.1目录的create.sql.gz文件| mysql –h 远程数据库地址 –r用户名 –p密码 数据库名称。
参考地址:
https://www.zabbix.com/documentation/3.2/manual/appendix/install/db_scripts
连接远程的数据库,可以查看到zabbix数据库下的所有表。
配置zabbix_server.conf服务
或者也可以输入vi /etc/zabbix/zabbix_server.conf命令进行编辑文件,对数据库进行配置。
编辑zabbix_server.conf文件,配置参数后进行保存文件,配置参数如下:
DBHost=10.190.130.73
DBName=zabbix
DBUser=zabbix
DBPassword=123qweQWE
DBSocket=/tmp/mysql.sock
DBPort=3306
ListenIP=127.0.0.1
请参考官方文档:
https://www.zabbix.com/documentation/3.2/manual/appendix/config/zabbix_server
配置zabbix前端的PHP配置
进入到/etc/httpd/conf.d目录下或者直接输入vi /etc/httpd/conf.d/zabbix.conf命令进行编辑文件。
配置如下:
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone Asia/Shanghai
启动zabbix-server服务
systemctl start zabbix-server #启动zabbix-server服务
systemctl status zabbix-server #查看zabbix-server的服务状态
systemctl enable zabbix-server #设置开机启动服务
启动httpd服务
systemctl start httpd #启动httpd服务器
systemctl status httpd #查看httpd服务器状态
systemctl enable httpd #设置httpd开机启动服务
注意:配置完成zabbix-server和httpd服务成功后,需要重启服务器。
登录zabbix页面
输入netstat –ntlp命令,检查zabbix-server和httpd是否已经成功启动。启动成功后,
在浏览器中输入:http://10.190.130.74/zabbix/进入到安装页面。
可参考官方配置文档:
https://www.zabbix.com/documentation/3.2/manual/installation/install#installing_zabbix_daemons
点击Next step按钮。
进行配置检查,所有的选项通过后,点击Next step按钮。
输入数据库配置信息后,点击Next step按钮。如果出现配置错误,可能出现无法连接数据库。
输入Name后,点击Next step按钮。
点击Next step按钮。
配置成功后,点击Finish按钮。
点击Finish按钮后,跳转到登录界面。
根据官方文档的介绍,默认的用户是Admin,密码为zabbix,该用户是超级用户,输入登录信息后,点击Sign In按钮,进行登录。
登录成功后的页面。
如果不习惯英文界面,可切换语言显示成中文。
中文页面显示。
请参考官方文档:
https://www.zabbix.com/documentation/3.2/manual/quickstart/login
安装配置zabbix-agent服务
安装zabbix-agent服务
Zabbix-agent是在安装被监控的服务器中,用来收集数据。
安装步骤可参考官方文档:
输入yum install zabbix-agent后,提示无法在线安装,是因为缺少安装源。
所以先输入另外一个命令进行安装,安装成功后,在进行安装agent服务。
rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
yum install zabbix-agent
配置zabbix-agent服务
Zabbix-agent进行简单配置,只需要修改zabbixagent配置文件中的Server、ServerActive和Hostname这三项即可。其中Server、ServerActive是zabbix server服务器的IP地址,Hostname是被监控端的IP地址
在输入vi /etc/zabbix/zabbix_agentd.conf命令进行编辑zabbix_agentd.conf文件。
配置如下:
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=10.190.130.74
ServerActive=10.190.130.74
Hostname=10.190.130.28
Include=/etc/zabbix/zabbix_agentd.d/
启动zabbix-agent服务
启动服务器已经查看服务器状态:
systemctl start zabbix-agent
systemctl status zabbix-agent
netstat –ntlp
添加主机
在zabbix页面中,将配置好的zabbix-agent添加到主机中。
官方参考文档:
https://www.zabbix.com/documentation/3.2/manual/config/hosts/host
打开Hosts页面。
输入被监控的Agent端的IP地址,并选择group选项和Connection的IP选项,最后点击Add按钮。
添加zabbix-agent主机成功
附录
安装配置zabbix的Configure DB connection步骤时,提示Cannot connection to the database
由于连接数据库和配置数据库数据都是正确的,但是如果在zabbix_server.conf文件中没有配置ListenIP=127.0.0.1的话,就出现无法连接mysql。所以启动ListenIP就可以解决can not connection the database的问题。