Zabbix深度安装

      Zabbix深度安装

Zabbix版本为(2.4.8)
一、安装服务器端

官方安装参考:https://www.zabbix.com/documentation/2.4/manual/installation/install_from_packages

1、安装zabbix-release包
[root@linux-node1 ~]# mkdir -p /home/oldboy/tools
 
[root@linux-node1 ~]# cd /home/oldboy/tools
 
[root@linux-node1 tools]# wget -q http: //repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
 
[root@linux-node1 tools]# ls -lh zabbix-release -2.4-1.el6.noarch.rpm
 
-rw-r–r– 1 root root 12K 9月 11 2014 zabbix-release-2.4-1.el6.noarch.rpm
 
[root@linux-node1 tools]# rpm -ivh zabbix-release -2.4-1.el6.noarch.rpm
 
warning: zabbix-release -2.4-1.el6.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID 79ea5ed4: NOKEY
 
Preparing… ( 1########################################### [100%]
 
1:zabbix-release ( ########################################### [100%]
 
######zabbix-release包安装结果
 
[root@linux-node1 tools]# rpm -ql zabbix-release
 
/etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
 
/etc/yum.repos.d/zabbix.repo
 
/usr/share/doc/zabbix-release -2.4
 
/usr/share/doc/zabbix-release -2.4/GPL
 
[root@linux-node1 tools]# ll /etc/yum.repos.d/zabbix.repo
 
-rw-r–r– 1 root root 401 9月 11 2014 /etc/yum.repos.d/zabbix.repo
2、开始安装Zabbix

1.保留yum安装的rpm包

[root@linux-node1 tools]# sed -i ‘s#keepcache=1#keepcache=0#g’ /etc/yum.conf
 
[root@linux-node1 tools]# grep keepcache /etc/yum.conf
 
keepcache=0

2.安装zabbix

yum -y install zabbix zabbix-server zabbix-server-mysql #<==ZABBIX SERVER相关
 
yum -y install zabbix-web zabbix-web-mysql #<==Apache、Php Web界面环境
 
yum -y install zabbix-agent #<== ZABBIX客户端
 
yum -y install mysql-server mysql #<==MySQL客户端与服务端
 
yum -y install zabbix-get #<==zabbix命令行工具
3、配置 Zabbix服务相关
  1. 配置并且启动MySQL
[root@linux-node1 tools]# \ cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
 
[root@linux-node1 tools]# vi /etc/my.cn

然后在[mysqld](第26行)标签下增加如下三行后保存

[mysqld]
 
character-set-server = utf8
 
init-connect = ‘SET NAMES utf8’
 
collation-server = utf8_general_ci
  1. 启动zabbix存储数据的数据库MySQL 
    [root@linux-node1 tools]# /etc/init.d/mysqld start
……
Please report any problems with the /usr/bin/mysqlbug script!
[确定]
 
正在启动 mysqld:
[确定]
  1. 初始化数据库
[root @linux-node1 ~]# mysql -e "create database zabbix character set utf8 collate utf8_bin;"
 
[root @linux-node1 ~]# mysql -e "grant all on zabbix.* to zabbix@localhost identified by ‘zabbix’;"
 
[root @linux-node1 ~]# cd /usr/share/doc/zabbix-server-mysql-2.4.6/create
 
[root @linux-node1 create]# mysql zabbix<schema.sql
 
[root @linux-node1 create]# mysql zabbix<images.sql
 
[root @linux-node1 create]# mysql zabbix<data.sql
 
[root @linux-node1 create]# mysqladmin -uroot password oldboy
  1. 初始化apache服务
[root@linux-node1 create]# sed -i 's#\# php_value date.timezone Europe/Riga#php_value date.timezone Asia/Shanghai#g' /etc/httpd/conf.d/zabbix.conf
 
[root@linux-node1 create]# grep Shanghai /etc/httpd/conf.d/zabbix.conf
 
php_value date.timezone Asia /Shanghai
  1. 修改前后对比 
    [root@linux-node1 create]# diff /etc/zabbix/zabbix_server.conf /etc/zabbix/zabbix_server.conf.oldboy.ori
65d64
< ### Option: DBHost
 
72,73c71
 
< DBHost=localhost
 
<
 
> # DBHost=localhost
 
106c104
 
< DBPassword=zabbix
 
> # DBPassword=
  1. 启动zabbix server及web服务
[root@linux-node1 create]# /etc/init.d/zabbix-server start
Starting Zabbix server: [确定]
[root@linux-node1 create]# lsof -i :10051|wc -l
55
[root@linux-node1 create]# /etc/init.d/httpd start
 
正在启动 httpd:httpd: apr_sockaddr_info_get() failed for linux-node1.example.com
 
httpd: Could not reliably determine the server’s fully qualified domain name, using 127.0.0.1 for ServerName
[确定]
[root@linux-node1 create]# lsof -i :80|wc -l
10

到此,zabbix server端的命令行配置告一段落了,接下来就是Web界面里管理了,使用Web管理对我这样老鸟实在不习惯,还是喜欢Nagios批量自动化脚本管理,更快,更舒服。

二、使用zabbix
自定义监控项:

1、添加用户自定义参数

cat /etc/zabbix/zabbix_agentd.d/nginx.conf
UserParameter=nginx.active,/usr/bin/curl -s "http://192.168.164.131:8080/nginx-status" |grep 'Active'|awk '{print $NF}'

2、重启zabbix-agent

3、在server端测试获取

zabbix_get -s 192.168.164.131 -p 10050 -k "nginx.active"

4、在web界面创建item

自定义图形:
自定义screen:
自定义 map

1、网络监控 Smokeping部署 
2、zabbix乱点 
3、下次分享 Piwik 流量分析系统

Zabbix生产案例

1.项目规划

主机分组:

  • 交换机 
    • Nginx
    • Tomcat
    • MySQL

监控识别对象:

-使用SNMP监控交换机

  • 使用IPMI监控服务器硬件
  • 使用Agent监控服务器
  • 使用JMX监控Java
  • 监控MySQL
  • 监控Web状态
  • 监控Nginx状态

SNMP监控: 
1.1.交换机开启snmp 
1.2在zabbix上添加监控 
1.3关联监控模板 
IPMI: 
建议。使用自定义item,本地执行ipmitool命令来获取数据

JMX:(使用Zabbix Java Gateway代理)

  • 1.安装yum install -y zabbix-java-gateway java-1.8.0
  • 2.配置vim /etc/zabbix/zabbix_java_gateway.conf
  • 3.启动systemctl start zabbix-java-gateway.service
  • 4.端口 进程
  • 5.[root@linux-node1 ~]# vim /etc/zabbix/zabbix_server.conf
  • 设置Java Gateway地址
  • 6.重启zabbix server 
    JMX三种类型:1.无密码认证 2.用户名密码认证 3.ssl
[root @linux-node2 ~]# cd /usr/local/src
[root @linux-node2 src]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.0.36/bin/apache-tomcat-8.0.36.tar.gz
[root @linux-node2 src]# tar zxf apache-tomcat-8.0.36.tar.gz ^C
[root @linux-node2 src]# mv apache-tomcat-8.0.36 /usr/local/
[root @linux-node2 src]# ln -s /usr/local/apache-tomcat-8.0.36/ /usr/local/tomcat
[root @linux-node2 src]# /usr/local/tomcat/bin/startup.sh

开启jmx远程监控

[root@linux-node2 ~]# vim /usr/local/tomcat/bin/catalina.sh
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote
- Dcom.sun.management.jmxremote.port=8888
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=192.168.56.12"
 
[root@linux-node2 ~]# /usr/local/tomcat/bin/shutdown.sh
[root@linux-node2 ~]# /usr/local/tomcat/bin/startup.sh

手动检测监控状态

[root @linux-node1 ~]# yum install -y zabbix-get

1.开启Nginx监控 
2.编写脚本来进行数据采集。 
3.设置用户自定义参数 
4.重启zabbix-agent 
5.添加item 
6.创建图形 
7.创建触发器 
8.创建模板

1.脚本:
2.上传到/etc/zabbix/zabbix_agentd.d
3.修改agent配置Include=/etc/zabbix/zabbix_agentd.d/*.conf
[root @linux-node1 zabbix_agentd.d]# chmod +x zabbix_linux_plugin.sh
[root @linux-node1 zabbix_agentd.d]# ./zabbix_linux_plugin.sh
Usage: ./zabbix_linux_plugin.sh {tcp_status key|memcached_status key|redis_status key|nginx_status key}
 
location /nginx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
 
[root @linux-node1 zabbix_agentd.d]# cat linux.conf
UserParameter=linux_status[*], /etc/zabbix/zabbix_agentd.d/zabbix_linux_plugin.sh "$1" "$2" "$3"
[root @linux-node1 zabbix_agentd.d]# systemctl restart zabbix-agent
 
[root @linux-node1 ~]# zabbix_get -s 192.168.56.11 -k linux_status[nginx_status,8080,active]
1

自定义告警脚本:

1.放在cd /usr/lib/zabbix/alertscripts
2.要支持三个参数 1 收件人 2.主题 3,内容
3.执行权限
4.Web界面添加
5.修改Actions

使用Percona监控插件监控MySQL

yum install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
 
https://www.percona.com/doc/percona- monitoring-plugins/1.1/zabbix/index.html#installation-instructions
 
yum install percona-zabbix-templates php php-mysql
 
1.php脚本用来数据采集
2.shell 调用这个php
3.zabbix配置文件
4.zabbix模板文件
 
创建zabbix监控专用用户。
 
 
Zabbix Proxy
zabbix- server ->> zabbix proxy ->> zabbix agent
 
1.yum install -y zabbix-proxy zabbix-proxy-mysql mariadb-server
2.systenctk start nariadb
3.进入数据库 create database zabbix_proxy character set utf8;
4.给权限 grant all on zabbix_proxy.* to zabbix_proxy@localhost identified by 'zabbix_proxy';
5.cd /usr/share/doc/zabbix-proxy-mysql-3.0.22
6.zcat schema.sql.gz |mysql -uzabbix_proxy -p zabbix_proxy

自动化监控 
1、自动监控 
1.1 zabbix agent自动添加 
2、主动发现 
2.1 自动发现Discover 
2.2 zabbix api

curl -s -X POST -H 'Content-Type:application/json' -d '
{
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"user": "Admin",
"password": "zabbix"
},
"id": 1
}' http://192.168.164.133/zabbix/api_jsonrpc.php| python -m json.tool

curl -s -X POST -H ‘Content-Type:application/json’ -d ’ 

“jsonrpc”: “2.0”, 
“method”: “host.get”, 
“params”: { 
“output”: [“hostid”] 
}, 
“auth”: “c9d7b319e48b6d9ffc2d1f33f9c7c877”, 
“id”: 1 
}’ http://192.168.164.133/zabbix/api_jsonrpc.php| python -m json.tool

转载于:https://www.cnblogs.com/liuxiangpy/p/9864563.html

### Zabbix 结合深度学习实现AI运维 #### 利用预训练模型进行监控数据分析 Zabbix 提供了模型管理器这一功能模块,该模块允许用户导入、编辑以及删除预先训练好的深度学习模型[^2]。通过这些预训练模型,可以对采集到的监控数据执行预测分析与分类操作。 对于大规模数据中心而言,传统的阈值告警机制难以满足复杂多变的应用场景需求。借助于深度学习算法的强大模式识别能力,可以从海量历史性能指标中挖掘潜在规律并建立相应的数学模型。当新的监测数值输入进来之后,系统会自动调用已部署完成的学习模型来进行实时评估判断是否存在异常状况发生。 #### 实现智能预警及故障诊断 具体来说,在实际应用场景下,比如像上海银行这样的金融机构,自2016年起引入Zabbix作为其核心网络设备和服务状态跟踪工具之一,并逐步替换掉了原有的商用解决方案[^3]。随着业务量的增长和技术架构日益庞大化趋势加剧,单纯依靠人工巡检方式已经无法有效保障整个IT基础设施稳定可靠运行。因此,基于Zabbix平台集成先进的机器学习技术成为必然选择: - **流量预测**:通过对过往一段时间内的带宽占用情况进行建模计算得出未来可能达到的最大峰值;提前做好资源规划准备防止因突发访问请求而导致服务中断现象; - **根因定位**:一旦检测到某项关键参数偏离正常范围之外,则立即启动关联性排查流程找出最有可能引发问题的根本原因所在位置;从而加快解决问题的速度减少停机时间损失。 ```python import zabbix_api # 假设这是用于连接Zabbix API库 from sklearn import svm # 使用支持向量机作为示例模型 def train_model(data): clf = svm.SVC() X_train, y_train = data['features'], data['labels'] clf.fit(X_train, y_train) return clf zapi = zabbix_api.connect('http://example.com/zabbix/api_jsonrpc.php', 'Admin', 'password') history_data = zapi.get_history(itemid='some_item_id') # 获取特定项目的监控记录 trained_classifier = train_model(history_data) new_sample = [[...]] # 新样本特征向量 prediction_result = trained_classifier.predict(new_sample) print(f'Predicted class label is {prediction_result}') ``` 此代码片段展示了如何利用Python脚本结合Scikit-Learn库中的SVM算法来构建简单的二元分类器,并将其应用于来自Zabbix的历史数据集上进行训练。最终得到的结果可用于辅助决策制定过程之中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值