Zabbix 基础与进阶(1) —— zabbix组件部署

zabbix 是一款著名的分布式的监控系统。支持通过代理服务器zabbix proxy收集zabbixagent的数据,然后把收集保存在本地数据库并发送给zabbix server进行统一存储和展示。

Zabbix 服务工作于 Agent/Server 架构模型


Zabbix 组件

程序组件

  1. zabbix_server :服务端守护进程
  2. zabbix_agentd :agent端守护进程
  3. zabbix_proxy :代理服务器(可选)
  4. zabbix_database :存储系统,常用如:MySQL/PGSQL
  5. zabbix_web :Web GUI 接口
  6. zabbix_get :命令行工具,在server端安装,用于测试向agent端发起数据采集请求
  7. zabbix_sender :命令行工具,在agent端安装,用于测试向server端发送数据
  8. zabbix_java_gateway :java网关

逻辑组件

  1. host groups :主机组
  2. hosts :主机
  3. applications :应用
  4. items :监控项
  5. triggers :触发器
  6. events :事件
  7. action :动作 ,由 condition(条件) 和 operations(操作) 组成
  8. media :媒介 ,发送通知的通道
  9. notification :通知
  10. remote command :远程命令
  11. template :模板
  12. graph :图形

主机角色分配

本实验各角色、IP、主机名分配以及其他备注如表

rolesIP addrhostnamecomments
zabbix_server172.16.50.1node1提供web监控管理页面
zabbix_proxy172.16.50.2node2zabbix_proxy
zabbix_tomcat172.16.50.14node14zabbix_agent(被动式)
zabbix_database172.16.50.15node15MySQL,zabbix_agent(主动式)

部署 Zabbix database 端

数据库可以安装在任意一台主机,当数据读写压力较大时,也可以部署一个数据库集群。

  • 安装数据库程序
yum install -y mariadb mariadb-server
  • 修改配置文件
vim /etc/my.cnf
#
[mysqld]
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
innodb_file_per_table=1
max_connections=10000
skip_name_resolve=1
  • 启动服务并查看端口状态
systemctl start mysqld
ss -tnl
  • 登录mysql,创建用户并授予权限
CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
GARNT ALL ON zabbix.* TO zabbix@'172.16.50.%' IDENTIFIED BY '123456';
  • 为mysql的pid文件创建软链接
ln -sv /var/lib/mysql/mysql.sock /tmp/mysql.sock

在server端测试是否能够登录到该agent端的mysql

mysql -uzabbix -p123456 -h172.16.50.15

1.部署 zabbix Server 端

server 端需要同时安装agent程序包和server程序包

  • 安装基础依赖包
yum install gcc libxml2-devel netsnmp net-snmp-devel crul curl-devel php php-bcmath php-mbstring mariadb mariadb-devel mariadb-server 
  • 编译安装zabbix
tar xvf zabbix-3.0.10.tar.gz
cd zabbix-3.0.10/
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --enable-java
make && make install
  • 复制 zabbix 启动脚本
cp /usr/local/src/zabbix-3.0.10/misc/init.d/fedora/core/* /etc/init.d/
  • 修改启动脚本

    1. 修改server脚本
vim /etc/init.d/zabbix_server
#修改以下几项

# 修改zabbix的路径
BASEDIR=/usr/local/zabbix

# 修改start函数
start() {
        if [ $RUNNING -eq 1 ] 
                then
                echo "$0 $ARG: $BINARY_NAME (pid $PID) already running"
        else
                action $"Starting $BINARY_NAME: " $FULLPATH -c /usr/local/zabbix/etc/zabbix_agentd.conf
                touch /var/lock/subsys/$BINARY_NAME
    fi  
}

重启zabbix_server服务

/etc/init.d/zabbix_server stop
systemctl daemon-reload
/etc/init.d/zabbix_server start
/usr/local/zabbix/sbin/zabbix_server
  1. 修改agent脚本
vim /etc/init.d/zabbix_agentd
#修改以下几项

# 修改zabbix的路径
BASEDIR=/usr/local/zabbix

# 修改start函数
start() {
        if [ $RUNNING -eq 1 ]
                then
                echo "$0 $ARG: $BINARY_NAME (pid $PID) already running"
        else
                action $"Starting $BINARY_NAME: " $FULLPATH -c /usr/local/zabbix/etc/zabbix_agentd.conf
                touch /var/lock/subsys/$BINARY_NAME
        fi
}

重启zabbix_agentd服务

/etc/init.d/zabbix_agentd stop
systemctl daemon-reload
/etc/init.d/zabbix_server start
  • 按顺序将指定的 .sql 文件导入已创建的 “zabbix” 数据库
cd zabbix-3.0.10/
#导入第一个 .sql 文件
mysql -uzabbix -p123456 -h172.16.50.15 zabbix < database/mysql/schema.sql 
#导入第二个文件
mysql -uzabbix -p123456 -h172.16.50.15 zabbix < database/mysql/images.sql
#导入第三个文件
mysql -uzabbix -p123456 -h172.16.50.15 zabbix < database/mysql/data.sql
  • 创建zabbix用户和组
groupadd zabbix
useradd -g zabbix -s /sbin/nologin zabbix
  • 创建zabbix日志目录并修改目录权限
mkdir  /var/log/zabbix
chown -R zabbix.zabbix /var/log/zabbix

2.部署 Zabbix agent 端

安装基础依赖包

yum install gcc
tar xvf zabbix-3.0.10.tar.gz
cd /usr/local/src/zabbix-3.0.10
./configure --prefix=/usr/local/zabbix --enable-agent
make -j 4 && make install

复制并修改服务启动脚本

cp misc/init.d/fedora/core/zabbix_agentd  /etc/init.d/
vim /etc/init.d/zabbix_agentd
BASEDIR=/usr/local/zabbix

创建zabbix用户并修改配置文件

useradd  zabbix -s /sbin/nologin 
vim /usr/local/zabbix/etc/zabbix_agentd.conf
#修改以下几项
LogFile=/tmp/zabbix_agentd.log
DebugLevel=4
Server=172.16.50.1
Hostname=172.16.50.14   #server端添加此服务器的时候必须写此名称

启动服务

/usr/local/zabbix/sbin/zabbix_agentd  -c /usr/local/zabbix/etc/zabbix_agentd.conf
/etc/init.d/zabbix_agentd start
ss -tnl
#
LISTEN     0      128      *:10050     *:* 

3.配置java gateway 监控tomcat类服务

准备程序包

mv jdk-7u79-linux-x64.tar.gz apache-tomcat-7.0.68.tar.gz /usr/local/src
cd /usr/local/src

安装jdk

tar xvf jdk-7u79-linux-x64.tar.gz
cd jdk1.7.0_79/
ln -sv /usr/local/src/jdk1.7.0_79/ /usr/local/jdk

修改环境变量

vim /etc/profile
#在最后加上以下几行
export JAVA_HOME=/usr/local/jdk
export TOMCAT_HOME=/usr/local/tomcat
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$TOMCAT_HOME/bin:$PATH
export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
#重载该文件
source /etc/profile
#测试配置是否正确
java -version
#显示如下内容则配置无误
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

安装tomcat

tar xvf apache-tomcat-7.0.68.tar.gz 
ln -sv /usr/local/src/apache-tomcat-7.0.68 /usr/local/tomcat

修改tomcat配置文件

vim /usr/local/tomcat/bin/catalina.sh
#修改以下内容
CATALINA_OPTS="$CATALINA_OPTS 
-Dcom.sun.management.jmxremote  
-Dcom.sun.management.jmxremote.port=12345   
-Dcom.sun.management.jmxremote.authenticate=false  
-Dcom.sun.management.jmxremote.ssl=false 
-Djava.rmi.server.hostname=172.16.50.14" 

重启tomcat服务

/usr/local/tomcat/bin/catalina.sh stop
/usr/local/tomcat/bin/catalina.sh start
#查看端口12345
ss -tnl
State       Recv-Q Send-Q Local Address:Port        Peer Address:Port                              
LISTEN      4      100       :::8080                :::*                                    
LISTEN      0      50        :::12345               :::*                                                      
LISTEN      0      100       :::8009                :::*

在zabbix_server主机上执行:

修改配置文件

vim /usr/local/zabbix/sbin/zabbix_java/settings.sh
#修改以下几项
LISTEN_IP="0.0.0.0"
LISTEN_PORT=10052
PID_FILE="/tmp/zabbix_java.pid"
START_POLLERS=25
TIMEOUT=30

启动zabbix_java服务

/usr/local/zabbix/sbin/zabbix_java/startup.sh
ss -tnl
LISTEN      0      50      :::10052     :::*

修改zabbix_server主配置文件

vim /usr/local/zabbix/etc/zabbix_server.conf
#修改以下几项
JavaGateway=172.16.50.14
JavaGatewayPort=10052
StartJavaPollers=25
Timeout=30

重启zabbix_server服务

/etc/init.d/zabbix_server restart
ss -tnl
#
LISTEN      0      128           *:10051 

在tomcat主机上部署zabbix_agent服务

按照本段中 2.部署 Zabbix agent 端 中的步骤进行部署

4.配置Web GUI 页面

安装httpd

yum install -y httpd

准备资源

mkdir /var/www/html/zabbix
cp -a /usr/local/src/zabbix-3.0.10/frontends/php/* /var/www/html/zabbix

启动服务并设置为开机启动

systemctl start httpd
systemctl enable httpd

使用浏览器访问 http://172.16.50.1/zabbix

首次访问该页面点击next后可能有部分错误,可以安装以下程序包,然后重启httpd服务

yum install php-common php-xmlreader php-xmlwriter php-xml php-net-socket php-gd php-mysql php-ldap

systemctl restart httpd

可能仍然有部分错误,可以修改php配置文件

vim /etc/php.ini
#
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = Aisa/Shanghai

对于date.timezone 一项如果不知道怎么填写,可以通过执行下面命令来查看timezone的格式

find / -name Shanghai
#结果为
/usr/share/zoneinfo/Asia/Shanghai
/usr/share/zoneinfo/posix/Asia/Shanghai
/usr/share/zoneinfo/right/Asia/Shanghai
/usr/share/javazi/Asia/Shanghai

再次重启httpd,然后点击下一步,按照提示进行操作即可。

按照提示下载文件 zabbix.conf.php ,执行命令:

cp zabbix.conf.php /var/www/html/zabbix/conf/zabbix.conf.php

zabbix页面的默认登录用户名是 Admin ,密码是 zabbix ,登录后修改语言为简体中文。

使用中文可能会有乱码,需要安装字体,可以从windows系统目录 C:\Windows\Fonts 路径下复制 simkai.ttf 至 /var/www/html/zabbix/fonts/ 目录

cd /var/www/html/zabbix/fonts/
#选择字体文件,使用rz命令将 .tty 格式的字体文件上传至本目录
#修改配置文件
vim /var/www/html/zabbix/include/defines.inc.php
#修改以下内容
define('ZBX_GRAPH_FONT_NAME',           'simkai'); // font file name

为了启用对zabbix_server 本机状态的监控,开启 server 主机的 zabbix_agent服务

/etc/init.d/zabbix_agentd start
Starting zabbix_agentd (via systemctl):                    [  OK  ]
ss -tnl
LISTEN      0      128        *:10050           *:* 

点击配置–> 主机 –> 查看Zabbix server –> 点击状态字段 “停用的” –> 确认启用本机 –> 状态字段变为 “已启用”。

添加主机并关联模板

这里写图片描述

验证数据

这里写图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值