环境准备
1、Centos系统:CentOS7系统安装
2、Nginx软件: Nginx基本配置
3、数据库软件: Mariadb数据库安装调试
4、Zabbix软件:Zabbix Documentation
Zabbix系统简介
Zabbix简介
Zabbix是一个企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利。官方网站:http://www.zabbix.com官方文档:http://www.zabbix.com/documentation/2.0/manual/quickstart。Zabbix通过C/S模式采集数据,通过B/S模式在web端展示和配置。
Zabbix运行条件
Server:Zabbix Server需运行在LAMP(Linux+Apache+Mysql+PHP)环境下,对硬件要求低。
Agent:目前已有的agent基本支持市面常见的OS,包含Linux、HPUX、Solaris、Sun、windows。
SNMP:支持各类常见的网络设备
Zabbix功能
具备常见的商业监控软件所具备的功能(主机的性能监控、网络设备性能监控、数据库性能监控、FTP等通用协议监控、多种告警方式、详细的报表图表绘制)支持自动发现网络设备和服务器;支持分布式,能集中展示、管理分布式的监控点;扩展性强,server提供通用接口,可以自己开发完善各类监控。
优劣势
优点:开源,无软件成本投入;Server对设备性能要求低(实际测试环境:虚拟机CentOS5,2GCPU 1G内存,监控5台设备,CPU使用率基本保持在10%以下,内存剩余400M以上);支持设备多;支持分布式集中管理;开放式接口,扩展性强。
缺点:中文资料较少。
说明
Server:指安装zabbix服务的服务器(以下简称服务器端),是最重要的部份,主要安装在linux系统上(支持多种操作系统),采用mysql存储监控数据并使用apache+php的方式呈现。
Agent:指安装在被监控设备上的zabbix代理(以下简称代理),被监控设备上的数据由代理收集后统一上传到服务器端由服务器端收集、整理并呈现。
SNMP:也是agent的一种,指支持SNMP协议的设备(也可以是服务器),通过设定SNMP的参数将相关监控数据传送至服务器端(大部份的交换机、防火墙等网络设备都支持SNMP协议)。
IPMI:Agent的另一种方式,主要应用于设备的物理性能监控,例如设备的温度、风扇的转速等。
Zabbix架构
Zabbix支持多种网络方式下的监控,可通过分布式的方式部署和安装监控代理,整个架构如图所示。
软件安装
安装
安装所需软件,直接使用yum安装,以的探讨编译安装。
添加yum源,以便安装 zabbix
各类组件。
rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7noarch.rpm
# 这个会随着版本更新而更新,请随时到官网查看最新源。
yum install nginx php-fpm mariadb-server zabbix-server-mysql zabbix-proxy-mysqlzabbix-web-mysql -y
# 启动软件
systemctl start nginx mariadb php-fpm
systemctl enable nginx mariadb php-fpm
软件配置
初始化数据库,并创建软件所需数据库
# mysql_secure_installation #初始化数据库,根据你的实情情况来操作此步骤。
#进入数据库,创建数据库。
# mysql -uroot -p
MariaDB [(none)]> create database zabbixserver character set utf8 collate utf8_bin;
#创建zabbix-server使用的数据库
MariaDB [(none)]> grant all privileges on zabbixserver.* to zabbixserver@localhost identified by '<password>';
MariaDB [(none)]> create database zabbixproxy character set utf8 collate utf8_bin;
# 创建zabbix-proxy使用的数据库
MariaDB [(none)]> grant all privileges on zabbixproxy.* to zabbixproxy@localhost identified by '<password>';
导入数据
向 zabbixserver
数据库,导入初始化数据(Now import initial schema and data for the server with MySQL):
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbixserver -p zabbixserver
向 zabbixproxy
数据库导入数据架构(For proxy, import initial schema):
# zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -uzabbixproxy -p zabbixproxy
为服务配置数据库
Configure database for Zabbix server/proxy
Edit zabbix_server.conf or zabbix_proxy.conf to use the created database.
# vim /etc/zabbix/zabbix_server.conf
DBHost=localhost # 服务器 #91行
DBName=zabbixserver # 数据库#101行
DBUser=zabbixserver # 数据库用户#117行
DBPassword=<password> # 数据库密码#125行
# vim /etc/zabbix/zabbix_proxy.conf
DBHost=localhost # 服务器 #156行
DBName=zabbixproxy # 数据库#167行
DBUser=zabbixproxy # 数据库用户#182行
DBPassword=aylyfcu3dx # 数据库密码#190行
启动 zabbix
服务
# systemctl start zabbix-server
# systemctl enable zabbix-server
修改 SELinux
(可以忽略)
如果不能关闭SELinux则添加如下规则:
# setsebool -P httpd_can_network_connect on
# setsebool -P zabbix_can_network on
安装 Agent
客户端
To install the agent, run
# yum install zabbix-agent
# systemctl start zabbix-agent
# systemctl enable zabbix-agent
配置 zabbix_agentd.conf
# vi /etc/zabbix/zabbix_agentd.conf
修改:
Server=172.17.1.14 #97行 改为zabbix服务器端地址
Hostname=172.17.1.31 #149行 改为受监控的机器名或IP,尽量是IP
添加防火墙规则
首先查看 zabbix-agent
的端口,我们查看到端口是10050(可以在上面的配置文件中配置修改)
ss -lntup
添加防火墙规则
# firewall-cmd --zone=public --permanent --add-port=10050/tcp
# firewall-cmd --reload
# firewall-cmd --list-all
系统端配置
系统默认使用Apache代理,这里更改为Nginx代理
添加Nginx代理
修改nginx配置(请参考 nginx 安装设置 )
vi /etc/nginx/nginx.conf
在36行下面添加
include /etc/nginx/default.d/*.conf;
注释 server{}所有内容,第39行到第58行;
添加 /etc/nginx/default.d/zabbix.conf
文件
server {
listen 80;
server_name zab.cafintech.local;
charset utf-8;
root /usr/share/zabbix;
index index.php;
location ~* /\.ht {
deny all;
}
location ~* /(api|conf|include)/ {
rewrite ^/(.*)$ http://zab.cafintech.local/index.php permanent;
}
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
fastcgi_pass 127.0.0.1:9000;
fastcgi_intercept_errors on;
error_page 403 404 502 503 504 http://zab.cafintech.local/index.php;
}
location ~* \.(css|gif|jpeg|jpg|js|txt|png|tif|tiff|ico|jng|bmp|doc|pdf|rtf|xls|xpi|zip|tgz|gz|bz2|tar|mid|midi|mp3)$ {
root /usr/share/zabbix;
}
}
修改 /etc/nginx/fastcgi_params
修改/etc/nginx/fastcgi_params,增加try_files $uri =404;
vi /etc/nginx/fastcgi_params
在最后添加:
try_files $uri =404;
修改 /etc/php.ini
vi /etc/php.ini
max_execution_time = 300# 384行
max_input_time = 300# 394行
post_max_size = 16M# 672行
date.timezone = Asia/Shanghai#878行
重启nginx php-fpm zabbix-server
systemctl restart nginx php-fpm zabbix-server
网站配置
Zabbix初始化
打开网站 Http://zab.cafintech.local 按提示安装
默认用户名是Admin 默认密码是zabbix
文章引用
zabbix官网教程 https://www.zabbix.com/documentation/3.4/
zabbix+nginx快速安装指南 http://blog.sina.com.cn/s/blog_704836f40101eil1.html
zabbix中文配置指南 http://blog.51cto.com/waringid/955939
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 long@longger.xin