共计 5728 个字符,预计需要花费 15 分钟才能阅读完成。
1.Linux 服务器安装 zabbix 监控平台
zabbix 是基于 web 界面的开源分布式监控平台,可以监控各种服务器的配置参数,支持自定义配置和自定义告警,并且可以实现邮件、短信等方式的告警,zabbix 基本组件如下:
zabbix_server:zabbix 服务端守护进程,所有的监控数据都会统一汇总给 server
zabbix_agentd: 客户端守护进程,负责执行 server 命令,收集客户端各种参数,如 cpu 负载,内存,硬盘 io 等
zabbix_get:zabbix 的一个工具,通常用于从 server 或者 proxy 获取远程客户端的信息,以及故障排查等
zabbix_sender:zabbix 的一个工具,用于发送数据给 server 或者 proxy,通常用于耗时比较长的检查
zabbix_proxy:zabbix 代理守护进程,功能类似 server,作为中转站将收集到的数据转发给 server,主要就是用于分布式集群中分担 server 的负担,构成类似分布式的 server 架构,但是最终数据还是要提交给 server 来汇总
2.zabbix 组成
zabbix 由两部分组成:zabbix server 与可选组件 zabbix agent
zabbix server 可以通过 SNMP,zabbix agent, ping , 端口监视等方法提供对远程服务器 / 网络状态的监视,数据收集等功能,它可以运行在 Linux ,Ubuntu , Solaris , HP-UX , AIX , Free BSD , Open BSD ,OS X 等平台
3.zabbix 特点
zabbix 的主要特点:
~ 安装与配置简单,学习成本低
~ 支持多语言(包括中文)
~ 免费开源
~ 自动发现服务器与网络设备
~ 分布式监视以及 web 集中管理功能
~ 可以无 agent 监视
~ 用户安全认证和柔软的授权方式
~ 通过 web 界面设置或查看监视结果
~email 等功能通知
zabbix 主要功能:
~CPU 负荷
~ 内存使用
~ 磁盘使用
~ 网络状况
~ 端口监视
~ 日志监视
4.zabbix 配置文件
zabbix 配置文件有两种:
~ 服务器端配置文件(/usr/local/etc/zabbix_server.conf)
~ 客户端配置文件(/usr/local/etc/zabbix_agentd.conf)
~zabbix 代理配置文件(/usr/local/etc/zabbix_proxy.conf)
5. 部署 zabbix
环境说明:
环境 | IP | 要安装的应用 |
---|---|---|
服务器端 | 192.168.209.12 | lamp 架构 zabbix server zabbix agent |
因为 zabbix 是用 php 语言开发的,所以必须先部署 lamp 架构,使其能够支持运行 php 网页
6. 实例演示(zabbix 监控搭建分为三步如下操作)
// 关闭防火墙
1.zabbix 服务器端安装
// 安装依赖包
[root@linuxidc ~]# yum install -y net-snmp-devel libevent-devel
// 下载 zabbix
[root@linuxidc ~]# cd /usr/src/
[root@linuxidc src]# wget https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.4.12/zabbix-3.4.12.tar.gz
[root@linuxidc src]# tar xf zabbix-3.4.12.tar.gz
// 配置 zabbix 用户和组
[root@linuxidc ~]# groupadd -r zabbix
[root@linuxidc ~]# useradd -r -g zabbix -M -s /sbin/nologin zabbix
// 配置 zabbix 数据库
[root@linuxidc ~]# MySQL -uroot -p
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by ‘linuxidc’;
mysql> grant all privileges on zabbix.* to zabbix@127.0.0.1 identified by ‘linuxidc’;
mysql> flush privileges;
mysql> quit
[root@linuxidc ~]# cd /usr/src/zabbix-3.4.12/database/mysql/
[root@linuxidc mysql]# ls
data.sql images.sql schema.sql
[root@linuxidc mysql]# mysql -uzabbix -plinuxidc zabbix < schema.sql
[root@linuxidc mysql]# mysql -uzabbix -plinuxidc zabbix < images.sql
[root@linuxidc mysql]# mysql -uzabbix -plinuxidc zabbix < data.sql
// 编译安装 zabbix
[root@linuxidc ~]# cd /usr/src/zabbix-3.4.12
[root@linuxidc zabbix-3.4.12]# ./configure –enable-server –enable-agent –with-mysql –with-net-snmp –with-libcurl –with-libxml2
[root@linuxidc zabbix-3.4.12]# make install
2.zabbix 服务端配置
[root@linuxidc ~]# ls /usr/local/etc/
zabbix_agentd.conf zabbix_agentd.conf.d zabbix_server.conf zabbix_server.conf.d
// 修改服务端配置文件 设置数据库信息
[root@linuxidc ~]# vim /usr/local/etc/zabbix_server.conf
……
DBPassword=zabbix123! // 设置 zabbix 数据库连接密码
// 启动 zabbix_server 和 zabbix_agentd
[root@linuxidc ~]# zabbix_server
[root@linuxidc ~]# zabbix_agentd
[root@linuxidc ~]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:80 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 *:10050 *:*
LISTEN 0 128 *:10051 *:*
LISTEN 0 128 127.0.0.1:9000 *:*
LISTEN 0 128 :::22 :::*
LISTEN 0 100 ::1:25 :::*
LISTEN 0 80 :::3306 :::*
3.zabbix 服务端 web 界面安装与配置
// 修改 /etc/php.ini 的配置并重启 php-fmp
[root@linuxidc ~]# sed -ri ‘s/(post_max_size =).*/\1 16M/g’ /etc/php.ini
[root@linuxidc ~]# sed -ri ‘s/(max_execution_time =).*/\1 300/g’ /etc/php.ini
[root@linuxidc ~]# sed -ri ‘s/(max_input_time =).*/\1 300/g’ /etc/php.ini
[root@linuxidc ~]# sed -i ‘/;date.timezone/a date.timezone = Asia/Shanghai’ /etc/php.ini
[root@linuxidc ~]# service php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm done
[root@linuxidc ~]# cd /usr/src/zabbix-3.4.12
[root@linuxidc zabbix-3.4.12]# ls
[root@linuxidc zabbix-3.4.12]# mkdik /usr/local/apache/htdocs/zabbix
[root@linuxidc zabbix-3.4.12]# cp -a frontends/php/* /usr/local/apache/htdocs/zabbix/
[root@linuxidc zabbix-3.4.12]# chown -R apache.apache /usr/local/apache/htdocs/
// 配置 apache 虚拟主机
// 在配置文件的末尾加入下内容:
[root@linuxidc ~]# vim /etc/httpd24/httpd.conf
……
<VirtualHost *:80>
DocumentRoot “/usr/local/apache/htdocs/zabbix”
ServerName zabbix.linuxidc.com
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/usr/local/apache/htdocs/zabbix/$1
<Directory “/usr/local/apache/htdocs/zabbix”>
Options none
AllowOverride none
Require all granted
</Directory>
</VirtualHost>
// 设置 zabbix/conf 目录的权限,让 zabbix 有权限生成配置文件 zabbix.conf.php
[root@linuxidc ~]# chmod 777 /usr/local/apache/htdocs/zabbix/conf
[root@linuxidc ~]# ll -d /usr/local/apache/htdocs/zabbix/conf
drwxrwxrwx. 2 apache apache 81 7 月 30 19:41 /usr/local/apache/htdocs/zabbix/conf
// 重启 apache
[root@linuxidc ~]# apachectl -t
Syntax OK
[root@linuxidc ~]# apachectl stop
[root@linuxidc ~]# apachectl start
[root@linuxidc ~]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:80 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 *:10050 *:*
LISTEN 0 128 *:10051 *:*
LISTEN 0 128 127.0.0.1:9000 *:*
LISTEN 0 128 :::22 :::*
LISTEN 0 100 ::1:25 :::*
LISTEN 0 80 :::3306 :::*
7. 安装 zabbix web 界面(验证)
~ 修改 /etc/hosts 文件,添加域名与 IP 映射
Linux 中详细搭建监控服务 zabbix 部署
~ 在浏览器上访问域名,本文设置的域名为 zabbix.linuxidc.com
在浏览器上输入域名 zabbix.linuxidc.com 访问
zabbix 默认登入用户和密码:
用户名 | 密码 |
---|---|
Admin | zabbix |
最后恢复 zabbix/conf 目录的权限为 755:
[root@linuxidc ~]# chmod 755 /usr/local/apache/htdocs/zabbix/conf
[root@linuxidc ~]# ll -d /usr/local/apache/htdocs/zabbix/conf
drwxr-xr-x. 2 apache apache 104 8 月 21 15:03 /usr/local/apache/htdocs/zabbix/conf
: