Zabbix 基础与进阶(1) —— zabbix组件部署
来源:互联网 发布:ntfs for mac反激活 编辑:程序博客网 时间:2024/06/07 21:06
zabbix 是一款著名的分布式的监控系统。支持通过代理服务器zabbix proxy收集zabbixagent的数据,然后把收集保存在本地数据库并发送给zabbix server进行统一存储和展示。
Zabbix 服务工作于 Agent/Server 架构模型
Zabbix 组件
程序组件
- zabbix_server :服务端守护进程
- zabbix_agentd :agent端守护进程
- zabbix_proxy :代理服务器(可选)
- zabbix_database :存储系统,常用如:MySQL/PGSQL
- zabbix_web :Web GUI 接口
- zabbix_get :命令行工具,在server端安装,用于测试向agent端发起数据采集请求
- zabbix_sender :命令行工具,在agent端安装,用于测试向server端发送数据
- zabbix_java_gateway :java网关
逻辑组件
- host groups :主机组
- hosts :主机
- applications :应用
- items :监控项
- triggers :触发器
- events :事件
- action :动作 ,由 condition(条件) 和 operations(操作) 组成
- media :媒介 ,发送通知的通道
- notification :通知
- remote command :远程命令
- template :模板
- graph :图形
主机角色分配
本实验各角色、IP、主机名分配以及其他备注如表
部署 Zabbix database 端
数据库可以安装在任意一台主机,当数据读写压力较大时,也可以部署一个数据库集群。
- 安装数据库程序
yum install -y mariadb mariadb-server
- 修改配置文件
vim /etc/my.cnf#[mysqld]socket=/var/lib/mysql/mysql.socksymbolic-links=0innodb_file_per_table=1max_connections=10000skip_name_resolve=1
- 启动服务并查看端口状态
systemctl start mysqldss -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.gzcd zabbix-3.0.10/./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --enable-javamake && make install
- 复制 zabbix 启动脚本
cp /usr/local/src/zabbix-3.0.10/misc/init.d/fedora/core/* /etc/init.d/
修改启动脚本
- 修改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 stopsystemctl daemon-reload/etc/init.d/zabbix_server start/usr/local/zabbix/sbin/zabbix_server
- 修改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 stopsystemctl 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 zabbixuseradd -g zabbix -s /sbin/nologin zabbix
- 创建zabbix日志目录并修改目录权限
mkdir /var/log/zabbixchown -R zabbix.zabbix /var/log/zabbix
2.部署 Zabbix agent 端
安装基础依赖包
yum install gcc
tar xvf zabbix-3.0.10.tar.gzcd /usr/local/src/zabbix-3.0.10./configure --prefix=/usr/local/zabbix --enable-agentmake -j 4 && make install
复制并修改服务启动脚本
cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/vim /etc/init.d/zabbix_agentdBASEDIR=/usr/local/zabbix
创建zabbix用户并修改配置文件
useradd zabbix -s /sbin/nologin vim /usr/local/zabbix/etc/zabbix_agentd.conf#修改以下几项LogFile=/tmp/zabbix_agentd.logDebugLevel=4Server=172.16.50.1Hostname=172.16.50.14 #server端添加此服务器的时候必须写此名称
启动服务
/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.conf/etc/init.d/zabbix_agentd startss -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/srccd /usr/local/src
安装jdk
tar xvf jdk-7u79-linux-x64.tar.gzcd jdk1.7.0_79/ln -sv /usr/local/src/jdk1.7.0_79/ /usr/local/jdk
修改环境变量
vim /etc/profile#在最后加上以下几行export JAVA_HOME=/usr/local/jdkexport TOMCAT_HOME=/usr/local/tomcatexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$TOMCAT_HOME/bin:$PATHexport 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#查看端口12345ss -tnlState 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=10052PID_FILE="/tmp/zabbix_java.pid"START_POLLERS=25TIMEOUT=30
启动zabbix_java服务
/usr/local/zabbix/sbin/zabbix_java/startup.shss -tnlLISTEN 0 50 :::10052 :::*
修改zabbix_server主配置文件
vim /usr/local/zabbix/etc/zabbix_server.conf#修改以下几项JavaGateway=172.16.50.14JavaGatewayPort=10052StartJavaPollers=25Timeout=30
重启zabbix_server服务
/etc/init.d/zabbix_server restartss -tnl#LISTEN 0 128 *:10051
在tomcat主机上部署zabbix_agent服务
按照本段中 2.部署 Zabbix agent 端 中的步骤进行部署
4.配置Web GUI 页面
安装httpd
yum install -y httpd
准备资源
mkdir /var/www/html/zabbixcp -a /usr/local/src/zabbix-3.0.10/frontends/php/* /var/www/html/zabbix
启动服务并设置为开机启动
systemctl start httpdsystemctl 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-ldapsystemctl restart httpd
可能仍然有部分错误,可以修改php配置文件
vim /etc/php.ini#post_max_size = 16Mmax_execution_time = 300max_input_time = 300date.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 startStarting zabbix_agentd (via systemctl): [ OK ]ss -tnlLISTEN 0 128 *:10050 *:*
点击配置–> 主机 –> 查看Zabbix server –> 点击状态字段 “停用的” –> 确认启用本机 –> 状态字段变为 “已启用”。
添加主机并关联模板
验证数据
- Zabbix 基础与进阶(1) —— zabbix组件部署
- Zabbix 基础与进阶(2) —— zabbix工作模式的部署
- zabbix部署
- Zabbix部署。
- Zabbix部署
- zabbix部署
- zabbix安装部署(服务器端)
- Zabbix部署安装(二)
- zabbix基础
- zabbix基础
- zabbix基础
- zabbix初学(1)
- Zabbix
- zabbix
- zabbix
- zabbix
- zabbix
- zabbix
- 脱壳中FSG壳的分析和脱壳后附加代码的分析
- Linux连接文件ln
- 单片机==简易智能家居OLED
- PHP设计模式系列(十五):迭代器模式
- 搜索练习12/poj/problem3126 Prime Path/ bfs
- Zabbix 基础与进阶(1) —— zabbix组件部署
- Fragment使用详解
- linux下ftp服务器的简单的搭建
- java中请给出UDP的DatagramSocket通信的例子?
- Markdown编辑器一览大全,总有一款适合你
- SeleniumWebDriverAPI-1
- JAVA面对对象
- angular-component组件开发实际应用
- 函数传值还是传指的问题案例