當前位置:首頁 » 網頁前端 » zabbix腳本輸入參數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

zabbix腳本輸入參數

發布時間: 2022-11-20 16:48:58

A. zabbix 3.0.1怎麼配置腳本

配置方式:
1. 完成自定義監控腳本的編寫(windows或linux腳本)
腳本要求:(1)既然是監控,那必然要有輸出結果值(字元串,數字皆可)
(2)必須要求zabbix用戶有執行許可權,當然可以直接設置所有用戶都有執行許可權(chmod 777 腳本文件)
(3)若腳本需要傳入參數,按照參數傳入的順序,在腳本中可用$1-$9來引用傳入的參數
2 找到zabbix agent的配置文件zabbix_agentd.conf,修改如下兩個參數
UnsafeUserParameters=0 => UnsafeUserParameters=1並去掉前面的注釋符
UserParameter= => UserParameter=aaa.bbb[*], /usr/local/script/monitor.sh $1 $2 ...
說明:aaa.bbb[*] ---zabbix伺服器添加監控信息時需要用到的key值,
格式:aaa.bbb[*](例:system.file.size[*])
/usr/local/script/monitor.sh ----監控腳本絕對路徑
為了便於靈活監控,有時腳本需要傳入參數,此參數可從zabbix伺服器端傳入,所有參數按順序分別從$1-$9表示
註:(1)若無需傳入參數,則紅色部分可省略
(2)該自定義腳本可由zabbix伺服器控制收集數據的頻率(如:每30s運行一次),無需再添加計劃任務
(3)以上參數請根據實際情況填寫,並注意去除參數前注釋符(#)
(4)注意在key值和後面的腳本之間有個逗號隔開
至此,自定義監控腳本zabbix agent端配置結束
3. 測試
測試命令: /usr/local/bin/zabbix_agentd -t key[參數]
示例:/usr/local/bin/zabbix_agentd -t system.file.size[/etc/a.txt,abc,...]
4. 監控腳本舉例:
腳本名稱:/usr/local/script/monitor.sh
腳本內容:echo `date +"%F %T"`
腳本要求:必須在控制台輸出值,該值將作為返回值返回給zabbix伺服器端

B. 配置zabbix時zabbix_server [24834]: /etc/zabbix/zabbix_server.conf.d: [2]No such file or directory

默認Zabbix配置文件會自動生成到/etc下面的,如果沒有,就有可能默認安裝到其他目錄了,如/opt下面。
具體參考配置教程
1、zabbix server端的配置在進行源碼安裝zabbix時已經配置好了,具體要配置的參數如下:
ListenPort=10051
server服務的監聽埠,默認是10051
DBHost=localhost 資料庫IP地址
DBName=zabbix 資料庫名稱
DBUser=zabbix 資料庫用戶名
DBPassword=zabbix 資料庫密碼
DBPort=3306 資料庫埠,默認是3306
ListenIP=127.0.0.1,192.168.10.10
zabbix server ip地址復制代碼
vim /etc/zabbix/zabbix_server.conf
ListenPort=10051DBHost=localhost 資料庫ip地址
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBPort=3306
ListenIP=127.0.0.1,192.168.10.10
zabbix server ip地址復制代碼剛剛開始需要關注的是這些,後面再補充。
還有個:zabbix運行腳本存放路徑,這個也在/etc/zabbix/zabbix_server.conf
配置文件里配置,默認地址是:AlertScriptsPath=${datadir}/zabbix/alertscripts
zabbix_agent 客戶端配置,服務端在源碼安裝時已經進行了,批量部署的話不建議客戶端使用源碼安裝,推薦使用rpm包安裝,可以使用zabbix官方提供的rpm路徑:
repo.zabbix.com/zabbix/3.0/修改Agent配置文件 zabbix agent的配置很簡單,只需要修改zabbix agent配置文件中的Server、ServerActive和Hostname這三項即可。
其中Server、ServerActive是zabbix server伺服器的IP地址,Hostname是被監控端的IP地址,如下:復制代碼#
sed -i "s/Server\=127.0.0.1/Server\=127.0.0.1,192.168.30.130/g" /etc/zabbix/zabbix_agentd.conf
# sed -i "s/ServerActive\=127.0.0.1/ServerActive\=192.168.30.130:10051/g" /etc/zabbix/zabbix_agentd.conf
# sed -i "s#tmp/zabbix_agentd.log#var/log/zabbix/zabbix_agentd.log#g" /etc/zabbix/zabbix_agentd.conf
# sed -i "#UnsafeUserParameters=0#aUnsafeUserParameters=1\n" /etc/zabbix/zabbix_agentd.conf
復制代碼拷貝 Agent 啟動腳本復制代碼
# mkdir /var/log/zabbix
# chown zabbix.zabbix /var/log/zabbix # cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
# chmod 755/etc/init.d/zabbix_agentd # sed -i "s#BASEDIR=/usr/local
#BASEDIR=/usr/#g" /etc/init.d/zabbix_agentd
復制代碼設置Agent開機啟動
# chkconfig zabbix_agentd on
# servicezabbix_agentdstart在Server端使用以下命令測試是否能連接到Agent端:[root@localhost ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.217.139 -p 10050 -k "system.uptime"17340

C. zabbix3.0.4郵件報警 腳本參數怎麼設置

不需要設置腳本呀,,只要在web端配置填上email就可以了。 。

D. CentOS 7安裝Zabbix 3.4-Linux過程

Zabbix 3.4 支持Centos 7。貌似不支持6.9.

虛擬機配置 雙核 8G內存

01、最小化安裝操作系統

02、升級系統組件到最新版本

03、關閉 SELinux

04、關閉防火牆

完成3、4兩步,重啟一下。

05、獲取sql

可以從https://dev.mysql.com/downloads/file/?id=470281下載

06、安裝 Zabbix 所需軟體支持包

先裝mysql

安裝Apache

安裝php

安裝php擴展

07、設置 MySQL 參數(8GB 內存為例)

在文件最後添加以下內容:

註:原則上 innodb_buffer_pool_size 需要設置為主機內存的 80%,如果主機內存不是 8GB,以上參數可依據相應比例進行調整,例如主機內存為 16GB,則 innodb_buffer_pool_size 建議設置為 12GB,innodb_log_buffer_size 建議設置為 32M,innodb_log_file_size 建議設置為 128M,以此類推。請注意innodb_buffer_pool_size的值必須是整數,例如主機內存是4G,那麼innodb_buffer_pool_size可以設置為3G,而不能設置為3.2G

08、啟動 MySQL

09、獲取 MySQL 的 root 初始密碼

JtZizq!Rl6E+

10、進行 MySQL 安全配置

配置開始時會用到第 09獲取的初始密碼,建議修改為自定義密碼,其它選項選擇 y 即可

密碼改為:Aa123456,.

11、重啟 MySQL

12、配置 MySQL 中 zabbix要的庫和賬號許可權

13、安裝 Zabbix源

http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/

14、安裝zabbix

15、導入 zabbix 所需信息

16、配置 zabbix 參數

主要是以下幾個選項參數需要設置(8GB 內存為例):

DBPassword 配置為第 12 步第 3 行中設置的自定義密碼

(Timeout在432

其它參數保持默認值即可

如果需要監控VMware虛擬機,則還需要設置以下選項參數:

17、配置 Apache 中的 PHP 參數(8GB 內存為例)

18、重啟系統

19、啟動 zbx

20、在瀏覽器中輸入 http://zbx監控伺服器的IP地址/zabbix,進行 zabbix 的頁面初始化配置

這個頁面PHP設置要求全部OK

如果密碼輸錯,是跳轉不到下一步的。密碼是前面設置的 Qing@2017

註:第4步的」Zabbix server detail」頁面中,」Name」處可填寫對此監控系統的描述性文字,支持中文,有點像網站的名稱。

21、第一次登錄zbx監控系統,默認用戶名 admin,默認密碼 zabbix,確認可正常登錄系統。

22、登錄進入系統後,確認 Zabbix server is running 的值是 Yes。

然後選擇 Administrator –> Users –> Admin

23、回到」監測中」 –> 「儀錶板」,就可以看到監控系統已設置為中文界面了。

E. 怎麼在zabbix裡面使用python腳本

1.修改zabbix server端的配置文件,啟用AlertScriptsPath,使其支持腳本功能
1.編輯zabbix server端的配置文件,並重啟服務
# vim /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/local/zabbix/alertscripts

# /etc/init.d/zabbix_server restart

2.在服務端添加郵件報警的python腳本,並給腳本執行許可權
郵件報警,並記錄日誌

# vim /usr/local/zabbix/alertscripts/zabbix_sendmail.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pdb
import smtplib
import string
import time
import sys
reload(sys)
sys.setdefaultencoding(『utf-8『)
#pdb.set_trace()
#HOST = "mail.gw.com.cn"
def S_Mail():
HOST = "smtp.exmail.qq.com" #郵件伺服器
SUBJECT = sys.argv[2].decode(『utf-8『).encode(『gbk『) #主題
TO =sys.argv[1] #收件郵箱
FROM = "[email protected]"
text = sys.argv[3].decode(『utf-8『).encode(『gbk『) #發件內容
BODY = string.join((
"FROM: %s" % FROM,
"To: %s" % TO,
"Subject: %s" %SUBJECT,
"",
text
),"\r\n")
server = smtplib.SMTP()
server.connect(HOST,25)
#server.starttls()
server.login("發件郵箱","密碼")
server.sendmail(FROM,[TO],BODY)
server.quit()
# email log 記錄日誌
with open(『/data/logs/zabbix/Email.log『, 『a『) as f:
date=time.strftime("%y-%m-%d %H:%M:%S")
str = date + " " + TO +" " + SUBJECT + "\r\n" + "\n"
str1 = str.decode(『gbk『).encode(『utf-8『)
# print("%s" %str1)
f.write(str1)
if __name__==『__main__『:
S_Mail()

F. zabbix監控windows mysql腳本報錯

你需要再看看你的建表語句,是不是5個欄位,2個int 3個varchar var/varchar 那是必須要加引號的,對的話就看看主鍵,自增設置是否正確,沒處理好的話就把sql語句放到mysql里運行,會反饋錯誤號,按理說你這個也應該有,然後根據錯誤號唉網路里查詢,這樣就可以有針對行得處理了

G. zabbix自定義鍵值腳本如下如何傳入多個$1參數

具體示例和格式就是這樣的:system.cpu.util[0,user,avg5]默認的參數是這樣的system.cpu.util[,,]cpu具體編號就是CPU的具體核心,為空就代筆CPU所以核心type就是CPU的不同狀態值idle,nice,user(default),system(defaultforWindows),iowait,interrupt,softirq,steal其中idle表示空閑,user表示用戶使用最後的avg5表示平均每5分鍾的值,為空表示當前值,要改成平均每15分鍾只需要寫成avg15當前CPU使用率寫成system.cpu.util[,user]即可,同理system.cpu.util[,idle]

H. zabbix告警配置

概述

假設我們配置了一些監控項和觸發器,現在當觸發器狀態改變時會獲取一些發生的事件,是時候考慮下一步行動了。

我們不可能一直盯著觸發器或者事件列表,當發生一些標志性的事件時發送警告再好不過。當問題發生,關注這些的用戶都會被通知。

zabbix提供主要的功能就是發送告警就是這個原因。哪些人?在什麼時候?應該收到哪些信息是可以被定義的。

為了發送和接收來自zabbix的告警,你必須:

定義媒介

配置發送信息到定義媒介的動作

動作由 觸發條件 和 操作 組成。基本上當條件符合時,操作被執行。兩個主要的操作是 發送消息 和 執行遠程命令

為了發現和自動注冊創建的事件,一些額外的操作是可用的,包含添加或者刪除主機,鏈接模板等

一、媒介(Media types)

概述

Media 是用於發送zabbix的消息與告警的遞送通道

可以定義一下媒介類型

E-mail

SMS

Jabber

Ez Texting

Custom alertscripts

1、 E-mail

為消息定義E-mail發送通道,需要配置e-mail 作為媒介類型並且傳遞指定的地址給用戶

配置

依次點擊 管理——>報警媒介類型,點擊創建媒介類型(或者點擊預先定義的媒介類型 E-mail)

媒介類型表包含通常的媒介類型屬性

所有重要的欄位都會標記紅星

Name 媒介類型名字

Type 選擇Email作為類型

SMTP server 設置stmp伺服器作為處理信息的出口

SMTP server port 設置smtp服務的埠,這個參數從zabbix3.0開始支持

SMTP helo 這是正確的stmp鏈接值,通常為域名

SMTP email 這個地址會被用於信息發送者,用來發送消息,添加發送者的顯示名 如 Zabbix_info則zabbix_info<[email protected]>

幾個可以生效的配置:

[email protected] 只有郵箱地址,不需要尖括弧

zabbix_info<[email protected]> 顯示名與郵件地址,地址寫在尖括弧中

監控系統<[email protected]> 使用UTF-8格式的顯示名

Connection security 選擇鏈接安全級別,None為不使用ssl選項,starttls 使用 CURLOPT_USE_SSL參數,SSL/TLS則CURLOPT_USE_SSL可選

SSL verify peer 標記checkbox同步SMTP服務的SSL證書,

Authentication 認證方法

Username 用戶名

Password 密碼

Enabled 啟用媒介

注意 : 為了使SMTP中的authentication 選項可用,zabbix在編譯時,需要帶--with-libcurl參數 使用cURL7.20.0或更高版本

第二個選項卡options

第二個選項卡options配置了告警的處理流程。同樣的options配置在其他的媒介類型中也存在。

所有媒介都是並行處理的,當前最大會話每個媒介自己定義,但是zabbix服務的告警處理總數被參數(zabbix_sever.conf)StartAlerters所限制。同一觸發器生成的告警會序列化的處理

options表

concurrent sessions 並發會話數,三個選項,one(一個),unlimited(不限制),custom(自定義)

Attempts 嘗試發送告警的次數,如果設置為1,則zabbix會發送以此通知,並且失敗時不會重發

Attempts interval  重發通知的頻率,發送失敗時重發的間隔

配置用戶的媒介

依次點擊 Administration(管理)--->Users(用戶)

點擊用戶的屬性表,在Media(媒介)表中點擊add

type 選擇Email作為類型

send to 指定email地址,可以點擊add添加多個地址,同理此地址也可設置顯示名如Zabbix_admin<[email protected]>或者[email protected]

when active 設置發送時間如工作日(1-5,09:00-18:00)可以使用宏

Use if severity 指定想要接受的告警等級

status 啟用與否

2、SMS

zabbix發送簡訊,使用串列GSM調試解調器連接到zabbix server的serial port

先決條件:

串列設備(正常情況下在linux的/dev/ttyS0)的速度取決於modem。zabbix不設置串列鏈接的速度。

zabbix user擁有對串列設備的讀寫許可權,運行ls -l /dev/ttyS0查看當前許可權

GSM調試解調器擁有PIN碼,PIN也可以禁用使用命令 AT+CPIN="NNNN"輸入PIN, 必須有雙引號。

已經測試好的modem Siemens MC35 Teltonika ModemCOM/G10

配置SMS作為發送通道,需要配置SMS作為媒介類型並且在用戶界面配置接收手機號

配置

依次點擊 Administration--->Media types,點擊創建media type或使用預先的配置

sms的Media type表屬性

Description media type名

Type 選擇SMS

GSM modem 選擇設備如 /dev/ttyS0

options選項卡見E-mail

配置用戶媒介

依次點擊 Administration(管理)--->Users(用戶)

點擊用戶的屬性表,在Media(媒介)表中點擊add

types 選擇SMS作為媒介

Send to 輸入用戶手機號

When active 設置發送時間如工作日(1-5,09:00-18:00)可以使用宏

Use if severity 指定想要接受的告警等級

status 啟用與否

3、Jabber (略)

4、Ez Texing(略)

5、Custom alertscripts

如果不滿足於存在的媒介來發送警告,可以自定義腳本進行發送

警告腳本在zabbix server上執行,這些腳本位於server配置文件AlertScriptsPath變數(默認/usr/local/share/zabbix/alertscripts)

腳本示例:

#!/bin/bash

to=$1

subject=$2

body=$3

cat <<EOF |mail -s "$subject" "$to"

$bodyEOF

從3.4開始zabbix會檢查exit code(shell執行返回碼,0為成功),若exit code 不等於0,則認為執行失敗,zabbix會重復執行

script不保存環境變數,所以環境變數要精確指定

配置

依次點擊 Administration--->Media types,點擊創建media type

mediatype表屬性

Name 輸入媒介的名字

Type 選擇Script作為類型

Script name 輸入腳本的名字(zabbix server中的腳本文件)

Script parameters 添加命令行參數到腳本

可支持ALERT.SENDTO}、{ALERT.SUBJECT}、{ALERT.MESSAGE}等宏,

{ALERT.SENDTO} 用戶媒介中的send to(收件人)的值

{ALERT.SUBJECT} 動作配置中的Default subject(默認標題)

{ALERT.MESSAGE} 動作配置中的Default message(消息內容)

options表中定義了處理流程,見E-mail的說明

配置用戶媒介User media

依次點擊 Administration(管理)--->Users(用戶)

點擊用戶的屬性表,在Media(媒介)表中點擊add

用戶媒介屬性

Type 選擇自定義腳本的媒介類型

Send to 指定告警接收人

When active 設置發送時間如工作日(1-5,09:00-18:00)可以使用宏

Use if serverity 指定想要接受的告警等級

status 啟用與否

二、動作

如果你希望發生事件時會觸發一些操作,那麼你需要配置action

動作可以定義回應所有支持的事件類型,

事件類型:

Trigger events觸發器事件,當觸發器狀態從ok改變到problem或相反。

Discovery events 當自動發現產生

Auto registration events當新的agent自動注冊時,或者經注冊過的主機元數據改變

Internal events當監控項變為不支持或觸發器狀態變為unknown時

配置一個動作

依次 Configuration ——>Actions

從event source中選擇需要的源(分為:觸發器源,自動發現源,自動注冊源,事件源)

點擊創建動作

選擇操作執行的條件

選擇具體操作

選擇恢復操作

動作表的屬性

Name 唯一動作名

Type of calcaulation 選擇條件觸發的計算方法

And 必須符合所有條件

Or 只要一個條件符合即可

And/Or 結合二者,不同類型的條件用And,同一類型的條件用Or

Custom expression 用戶自定義

Conditions 觸發動作的一系列條件、

New condition 選擇新的動作觸發條件

Enabled 啟用動作

條件設置

基於觸發器的條件

Application 應用集

Host group 主機組

Template 模板

Host 主機

Tag 標簽(串)

tag value 標簽值

Trigger 觸發器

Trigger name 觸發器名字

Trigger severity 觸發器等級

Time period 觸發時間

Problem is suppressed 觸發問題是否意料之中,如主機維護

基於自動發現的條件

Host IP 指定主機ip地址自動發現范圍 格式: 單獨的ip:192.168.1.33 范圍ip: 192.168.1-101.1-254  Ip mask: 192.168.4。0/24

Service type 服務類型

service port 服務埠

Discovery rule 指定自動發現規則

Discovery check

Discovery object

Discovery status

Uptime/Downtime

Received value

Proxy

基於自動注冊的條件

Host metadata 由zabbix_agentd.conf 文件中的HostMetadata變數定義

Host name

Proxy

基於內部事件的條件

Application

Event type

Host group

Template

Host

條件匹配後,就需要執行響應的動作了

可以支持以下動作

send a message

execute a remote command

add host

remove host

enable host

disable host

add to host group

remove from host group

link to template

unlink from template

set host inventory mode

執行遠程命令

確保配置文件中(zabbix_agentd.conf)EnableRemoteCommands 參數設置為1

加入zabbix用戶到sudo,vim /etc/sudoer

zabbix ALL=NOPASS: ALL #所有命令不需密碼

zabbix ALL=NOPASS: /etc/init.d/apache restart  #指定某一命令不需要密碼

觸發操作後,使用宏 編輯信息

如 告警信息模板

標題 伺服器:{HOST.NAME} - 發生: {TRIGGER.NAME}故障

信息 告警主機:{HOST.NAME}

告警地址:{HOST.IP}

監控項目:{ITEM.NAME}

監控取值:{ITEM.LASTVALUE}

告警等級:{TRIGGER.SEVERITY}

當前狀態:{TRIGGER.STATUS}

告警信息:{TRIGGER.NAME}

告警時間:{EVENT.DATE} {EVENT.TIME}

事件ID:{EVENT.ID}

恢復信息

標題 伺服器:{HOST.NAME} - {TRIGGER.NAME} 已恢復

信息 告警主機:{HOST.NAME}

告警地址:{HOST.IP}

監控項目:{ITEM.NAME}

監控取值:{ITEM.LASTVALUE}

告警等級:{TRIGGER.SEVERITY}

當前狀態:{TRIGGER.STATUS}

告警信息:{TRIGGER.NAME}

告警時間:{EVENT.DATE} {EVENT.TIME}

恢復時間:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}

持續時間:{EVENT.AGE}

事件ID:{EVENT.ID}

I. zabbix運維系統怎麼編寫腳本

1.修改zabbix server端配置文件啟用AlertScriptsPath使其支持腳本功能
1.編輯zabbix server端配置文件並重啟服務
# vim /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/local/zabbix/alertscripts

# /etc/init.d/zabbix_server restart

2.服務端添加郵件報警python腳本並給腳本執行許可權
郵件報警並記錄志

# vim /usr/local/zabbix/alertscripts/zabbix_sendmail.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pdb
import smtplib
import string
import time
import sys
reload(sys)
sys.setdefaultencoding(『utf-8『)
#pdb.set_trace()
#HOST = "mail.gw.com.cn"
def S_Mail():
HOST = "smtp.exmail.qq.com" #郵件伺服器
SUBJECT = sys.argv[2].decode(『utf-8『).encode(『gbk『) #主題
TO =sys.argv[1] #收件郵箱
FROM = "[email protected]"
text = sys.argv[3].decode(『utf-8『).encode(『gbk『) #發件內容
BODY = string.join((
"FROM: %s" % FROM,
"To: %s" % TO,
"Subject: %s" %SUBJECT,
"",
text
),"\r\n")
server = smtplib.SMTP()
server.connect(HOST,25)
#server.starttls()
server.login("發件郵箱","密碼")
server.sendmail(FROM,[TO],BODY)
server.quit()
# email log 記錄志
with open(『/data/logs/zabbix/Email.log『, 『a『) as f:
date=time.strftime("%y-%m-%d %H:%M:%S")
str = date + " " + TO +" " + SUBJECT + "\r\n" + "\n"
str1 = str.decode(『gbk『).encode(『utf-8『)
# print("%s" %str1)
f.write(str1)
if __name__==『__main__『:
S_Mail()

J. zabbix監控項用腳本怎麼配置

zabbix怎麼使用自動發現添加新監控項1.Serverzabbix系統核心進程,輪詢並捕獲數據、發送通知等。是zabbixagent和zabbixproxy匯報數據的對象。server自身可遠程檢測網路服務。所有的前後端配置、統計信息、可操作數據存儲於此。包含server、前段界面和後端DB幾部分。2.Agent部署在被監控主機上用於監控本地資源和應用並向zabbixserver匯報結果。使用本地系統調用故非常高效。有主動和被動兩種檢測模式。被動模式下agent根據server或proxy的具體請求來返回數據。主動模式下先主動由server獲取監控項列表在檢測並返回新的數據。採用主動或被動檢測取決於相應監控項的配置。3.Proxy可以自由選擇部署或者不部署,主要用於分擔server的負載。在集中化監控遠程位置、分支、網路的場景中是很好的解決方案。可從被監控設備收集數據緩存在proxy本地後傳遞給其所屬的zabbixserver。proxy需要單獨的資料庫。