【无标题】

zabbix的部署和使用

1、创建mysql-server容器

docker run --name mysql-server -t \
      -p 3307:3306 \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbix_pwd" \
      -e MYSQL_ROOT_PASSWORD="admins" \
      -d mysql:8.0 \
      --character-set-server=utf8 --collation-server=utf8_bin

2、安装zabbix-java-gateway

docker run --name zabbix-java-gateway -t \
  -d zabbix/zabbix-java-gateway:latest

3、安装zabbix-server-mysql

docker run --name zabbix-server-mysql -t \
  -e DB_SERVER_HOST="172.17.0.11" \
  -e DB_SERVER_PORT=3306 \
  -e MYSQL_DATABASE="zabbix" \
  -e MYSQL_USER="zabbix" \
  -e MYSQL_PASSWORD="zabbix_pwd" \
  -e MYSQL_ROOT_PASSWORD="admins" \
  -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
  --link mysql-server:mysql \
  --link zabbix-java-gateway:zabbix-java-gateway \
  -p 10051:10051 \
  -d zabbix/zabbix-server-mysql:latest

4、安装zabbix-web-nginx-mysql

docker run --name zabbix-web-nginx-mysql -t \
  -e PHP_TZ="Asia/Shanghai" \
  -e DB_SERVER_HOST="172.17.0.11" \
  -e DB_SERVER_PORT=3306 \
  -e MYSQL_DATABASE="zabbix" \
  -e MYSQL_USER="zabbix" \
  -e MYSQL_PASSWORD="zabbix_pwd" \
  -e MYSQL_ROOT_PASSWORD="admins" \
  --link mysql-server:mysql \
  --link zabbix-server-mysql:zabbix-server \
  -p 8080:8080 \
  -d zabbix/zabbix-web-nginx-mysql:latest

5、访问客户端

http://119.28.7.31:8080/

6、部署自动

docker run --rm --network zabbix --name zabbix_agent --link zabbix/zabbix-server-mysql -e ZBX_HOSTNAME="mythird" -e ZBX_SERVER_PORT="10051" -e ZBX_SERVER_HOST="172.17.0.11" -p 3998:10050 -d zabbix/zabbix-agent:latest

7、安装探针客户端项目:zabbix_agent

#先启动探针项目
docker run --name zabbix-agent \
    -e ZBX_HOSTNAME="zabbix-agent" \
    -e ZBX_SERVER_PORT="10051" \
    -e ZBX_SERVER_HOST="172.17.0.11" \
    --link zabbix-server-mysql:zabbix-server-mysql \
    -p 10050:10050 \
    -d zabbix/zabbix-agent:latest
#拷贝配置文件到服务器
docker cp zabbix-agent:/etc/zabbix/zabbix_agentd.conf /root/zabbix-agent/zabbix_agentd.conf
#关闭容器
docker stop zabbix-agent
#移除容器
docker rm zabbix-agent
#修改文件
vi /root/zabbix-agent/zabbix_agentd.conf

Server=172.19.0.32,172.17.0.4 (服务器地址,docker内网地址)

ServerActive=172.19.0.32:10051,172.17.0.4:10051 (服务器地址,docker内网地址)

zabbix-server-mysql. ip=172.17.0.4
backend.01.stage.witpool.net ip=172.19.0.32

172.30.14.202 172.17.0.10

启动

docker run --name zabbix-agent \
    -e ZBX_HOSTNAME="zabbix-agent" \
    -e ZBX_SERVER_PORT="10051" \
    -e ZBX_SERVER_HOST="172.17.0.11" \
    -v /root/zabbix-agent/zabbix_agentd.conf:/etc/zabbix/zabbix_agentd.conf \
    --link zabbix-server-mysql:zabbix-server-mysql \
    -p 10050:10050 \
    -d zabbix/zabbix-agent:latest

6、登陆

Username:Admin

Password:zabbix

7、设置中文

选择 User settings 然后将语言修改为 Chinese (zh_CN) 即可

在这里插入图片描述

10、配置监控

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

9、在Zabbix中配置Webhook URL

进入 管理-> 报警媒介类型->创建报警媒介类型

在这里插入图片描述

app填写appkey值
URL填写WebHook地址,http://api.aiops.com/alert/api/event/zabbix/v3/
alarmContent{HOST.HOST}{ITEM.NAME}:{ITEM.VALUE}{TRIGGER.NAME}
alarmName{TRIGGER.NAME}
entityId{HOST.HOST}-{TRIGGER.ID}
entityName{HOSTNAME}
eventId{HOST.HOST}-{TRIGGER.ID}
eventType{TRIGGER.STATUS}
host{HOST.HOST}
ip{HOST.IP}
itemName{ITEM.NAME}
itemValue{ITEM.VALUE}
Message{ALERT.MESSAGE}
priority{TRIGGER.NSEVERITY}
service{ITEM.NAME}
tag[{‘hostgroups’: [‘{TRIGGER.HOSTGROUP.NAME}’]}]
To{ALERT.SENDTO}

添加脚本内容(内容默认,直接添加即可)

在这里插入图片描述

var Ca = {
params: {},
proxy: null,
setParams: function (params) {
if (typeof params !== 'object') {
return;
}
Ca.params = params;
},
request: function () {
var data = {
app: Ca.params.app,
Message: Ca.params.Message,
To: Ca.params.To,
eventId: Ca.params.eventId,
eventType: Ca.params.eventType,
alarmName: Ca.params.alarmName,
entityId: Ca.params.entityId,
alarmContent: Ca.params.alarmContent,
priority: Ca.params.priority,
host: Ca.params.host,
tag: Ca.params.tag,
ip: Ca.params.ip,
itemName: Ca.params.itemName,
itemValue: Ca.params.itemValue,
entityName: Ca.params.entityName,

service: Ca.params.service,

},
response,
url = Ca.params.URL,
request = new CurlHttpRequest();

request.AddHeader('Content-Type: application/json');
if (typeof Ca.HTTPProxy !== 'undefined' && Ca.HTTPProxy !== '') {
request.setProxy( Ca.HTTPProxy);
}

if (typeof data !== 'undefined') {
data = JSON.stringify(data);
}
response = request.Post(url, data);

if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
response = null;
}
}

if (request.Status() !== 200 ) {
var message = 'Request failed with status code '+request.Status();

if (response !== null && typeof response.errmsg !== 'undefined') {
message += ': '+ JSON.stringify(response.errmsg) ;
}

throw message + '. Check debug log for more information.';
}

return response;
},
};

try {
var params = JSON.parse(value);
if (typeof params.URL !== 'undefined'
&& typeof params.To !== 'undefined'
&& typeof params.Message !== 'undefined') {
}
else {
throw 'Missing parameter. URL, message, to parameter is required'
}
if (params.HTTPProxy) {
Ca.proxy = params.HTTPProxy;
}
Ca.setParams(params);
Ca.request();
return 'OK';
}catch (error) {
throw 'Sending failed: ' + error;
}

注意zabbix5.0版本以上,在创建报警类型时还需要添加两个Message templates类型分别为问题、Problem recovery

在这里插入图片描述

进入 进入 管理-> 报警媒介类型->导入报警媒介文件

1、CA_500.xml 支持版本为5.0.0 5.0.6 5.2.0 5.2.1 5.4.0 6.0.0下载文件
2、CA_441.xml 支持版本为4.4.1

3、注意导入文件前需要修改文件中app为自己的应用id

在这里插入图片描述

在这里插入图片描述

进入 配置-> 动作->创建动作

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值