redis 多實例監控

来源:https://www.cnblogs.com/yaxuan/archive/2018/12/12/10109453.html
-Advertisement-
Play Games

1、製作redis_low_discovery.sh腳本 mkdir -p /data/service/script/zabbix cd /data/service/script/zabbix cat redis_low_discovery.sh #!/bin/bash#Fucation:mysql ...


1、製作redis_low_discovery.sh腳本

mkdir -p /data/service/script/zabbix

cd /data/service/script/zabbix

cat redis_low_discovery.sh

#!/bin/bash
#Fucation:mysql low-level discovery
#Script_name redis_low_discovery.sh
redis() {
port=($(sudo netstat -tpln | awk -F "[ :]+" '/redis/ && /0.0.0.0/ {print $5}'))
printf '{\n'
printf '\t"data":[\n'
for key in ${!port[@]}
do
if [[ "${#port[@]}" -gt 1 && "${key}" -ne "$((${#port[@]}-1))" ]];then
socket=`ps aux|grep ${port[${key}]}|grep -v grep|awk -F '=' '{print $10}'|cut -d ' ' -f 1`
printf '\t {\n'
printf "\t\t\t\"{#REDISPORT}\":\"${port[${key}]}\"},\n"
else [[ "${key}" -eq "((${#port[@]}-1))" ]]
socket=`ps aux|grep ${port[${key}]}|grep -v grep|awk -F '=' '{print $10}'|cut -d ' ' -f 1`
printf '\t {\n'
printf "\t\t\t\"{#REDISPORT}\":\"${port[${key}]}\"}\n"
fi
done
printf '\t ]\n'
printf '}\n'
}
$1

驗證腳本是否正常

[root@l-redis1 zabbix]# sh redis_low_discovery.sh redis
{
"data":[
{
"{#REDISPORT}":"7111"},
{
"{#REDISPORT}":"7112"},
{
"{#REDISPORT}":"7113"},
{
"{#REDISPORT}":"7114"},
{
"{#REDISPORT}":"7115"},
{
"{#REDISPORT}":"7116"}
]
}

 

2、添加UserParameter

cd /etc/zabbix/zabbix_agentd.d/

vim zabbix_redis.conf
UserParameter=zabbix_low_discovery[*],/bin/bash /data/service/script/zabbix/redis_low_discovery.sh $1
UserParameter=redis_stats[*],(echo info; sleep 1) | telnet 127.0.0.1 $1 2>&1 |grep $2|cut -d : -f2

zabbix_agentd.conf配置文件中把UnsafeUserParameters=1設置為1並打開註釋即可,這裡我的redis示例沒有設置密碼,如果有密碼就加上-a password,telnet對空密碼可以。有密碼的話telnet換成$(which redis-cli)。然後重啟agent即可

把redis_low_discovery.sh文件存放到data/service/script/zabbix/目錄下,然後給與755許可權,並修改用戶與組為zabbix,同時允許zabbix用戶無密碼運行

echo "zabbix ALL=(root) NOPASSWD:/bin/netstat">>/etc/sudoers
關閉requiretty
sed -i 's/^Defaults.*.requiretty/#Defaults    requiretty/' /etc/sudoers

3、server 客戶端操作
使用zabbix_get 獲取redis 鍵值
重啟zabbix-agent
zabbix-server 上面測試:

zabbix_get -s 10.5.58.241 -k redis_stats[7111,uptime_in_seconds]
2600258


4、導入模板
Template Redis Auto Discovery導入到zabbix里(模板在附件),具體操作不介紹
5、設置正則
adminstration--->general___右上角-->
Regular expressions--->new Regular expressions
name:Redis Regex master
Result is True           ^(7111|7112|7113|7114|7115|7116)$


 

6、模板調用正則

Configuration ----> Host---->Discovery rules ----->Redis Port Discovery------>

 


7、引用模板
配置-主機-Templates--添加模板
模板地址:
https://files-cdn.cnblogs.com/files/yaxuan/zabbix_redis_templates.xml






17:09:30

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • " 【.NET Core項目實戰 統一認證平臺】開篇及目錄索引 " 上篇文章介紹瞭如何使用 持久化 的信息,並實現了 和`mysql ids4`進行客戶端授權。 .netcore項目實戰交流群(637326624),有興趣的朋友可以在群里交流討論。 一、如何添加客戶端授權? 在瞭解如何進行客戶端授權 ...
  • 一、什麼是跨域? 定義:是指瀏覽器不能執行其他網站的腳本,它是由瀏覽器的同源策略造成的,是瀏覽器對JavaScript實施的安全限制。 同源策略限制了以下行為: 1、Cookie、LocalStorage和IndexDB無法讀取 2、DOM和js對象無法獲取 3、ajax請求無法發送 二、為什麼要跨 ...
  • 在做上一個C#小工具的時候,當時為了處理界面最大化,解析度問題,只是簡單的用各種···Panle控價簡單隨意的處理控制項的大小位置,字體什麼的就隨緣了(貌似有點不負責任啊,嘿嘿~)。 所以在開始第二個C#小工具的時候,就又想到了這個問題,下麵就貼代碼啦↓↓↓ public Form1() { Init ...
  • 1.打開visual Studio 2. 通過菜單Edit -->Find and Replace -->Replace In File ,或者使用 ctrl + Shift + H 打開在文件中查找對話框,如下: Find What: 填寫查找語句的地方,可以是入任何查找關鍵字,也可以是正則表達式 ...
  • /var/cache/apt/archives ...
  • 設置>>詳細信息>>用戶>>解鎖>>(輸入密碼進行認證)>>{自動登錄}選項打開 ...
  • Linux作為多任務系統,當一個進程生成的數據傳輸到另一個進程時,或數據由多個進程共用時,或進程必須彼此等待時,或需要協調資源的使用時,應用程式必須彼此通信。 一、控制機制 1、競態條件 幾個進程在訪問資源時彼此干擾的情況通常稱之為競態條件(race condition)。在對分散式應用編程時,這種 ...
  • 預設的Ubuntu 18.1桌面版沒有安裝ssh遠程登錄服務: 打開"終端視窗",輸入"sudo apt-get update"-->回車-->"輸入當前登錄用戶的管理員密碼"-->回車,就可以了。 安裝ssh 打開"終端視窗",輸入"sudo apt-get install openssh-ser ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...