CentOS7下Zabbix的安装调试

环境准备

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支持多种网络方式下的监控,可通过分布式的方式部署和安装监控代理,整个架构如图所示。
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

 zabbix-agent端口

添加防火墙规则

# 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行;

nginx配置主文件

添加 /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;

nginx配置主文件

修改 /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 按提示安装
zabbix初始化

zabbix初始化

zabbix初始化

zabbix初始化

zabbix初始化

zabbix初始化

默认用户名是Admin 默认密码是zabbix

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

文章标题:CentOS7下Zabbix的安装调试

字数:1.6k

本文作者:Longger

发布时间:2018-01-05, 14:08:37

最后更新:2024-11-13, 22:23:06

原始链接:https://www.longger.xin/article/2a429e76.html

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

×

喜欢就点赞,疼爱就打赏

github