opentsdb+grafana監控系按使用總結

来源:http://www.cnblogs.com/congshenV/archive/2017/09/02/7467464.html
-Advertisement-
Play Games

一、OpenTSDB簡介 開源監控系統OpenTSDB,用hbase存儲所有的時序(無須 採樣)來構建一個分散式、可伸縮的時間序列資料庫。它支持秒級數據採集所有metrics,支持永久存儲,可以做容量規劃,並很容易的接入到現有的報警系 統里。OpenTSDB可以從大規模的集群(包括集群中的網路設備、 ...


一、OpenTSDB簡介

開源監控系統OpenTSDB,用hbase存儲所有的時序(無須 採樣)來構建一個分散式、可伸縮的時間序列資料庫。它支持秒級數據採集所有metrics,支持永久存儲,可以做容量規劃,並很容易的接入到現有的報警系 統里。OpenTSDB可以從大規模的集群(包括集群中的網路設備、操作系統、應用程式)中獲取相應的metrics併進行存儲、索引以及服務,從而使得這些數據更容易讓人理解,如web化,圖形化等。 對於運維工程師而言,OpenTSDB可以獲取基礎設施和服務的實時狀態信息,展示集群的各種軟硬體錯誤,性能變化以及性能瓶頸。對於管理者而言,OpenTSDB可以衡量系統的SLA,理解複雜系統間的相互作用,展示資源消耗情況。集群的整體 作業情況,可以用以輔助預算和集群資源協調。對於開發者而言,OpenTSDB可以展示集群的主要性能瓶頸,經常出現的錯誤,從而可以著力重點解決重要問題。 這裡有幾篇文字對於OpenTSDB的介紹非常詳細: http://liubin.org/blog/2016/03/05/tsdb-opentsdb/ http://www.jianshu.com/p/0bafd0168647 https://yq.aliyun.com/articles/54785 這個是對錶結構的詳細介紹 https://zhengheng.me/2016/03/07/opentsdb-hbase-tuning/ 優化

 

二、OpenTSDB的安裝配置

1、基本環境搭建 首先確保你的系統有以下條件滿足:   jdk 1.6 以上 並配置好環境變數   hbase 0.92 或更高版本   gnuplot 4.2 或更高(yum安裝吧)   autotools(好像只需要其中的autoconf和automake即可)
#1. 重新安裝新版本autoconf/automake
#刪除舊版本
yum erase autoconf
#安裝新版本autoconf
wget http://mirrors.ustc.edu.cn/gnu/autoconf/autoconf-2.68.tar.gz
tar -zxvf autoconf-2.68.tar.gz
cd autoconf-2.68
./configure
make
make install
ln -s /usr/local/bin/autoconf /usr/bin/autoconf

#安裝新版本automake
wget http://mirrors.ustc.edu.cn/gnu/automake/automake-1.11.2.tar.gz
tar -zxvf automake-1.11.2.tar.gz
cd automake-1.11.2
./configure
make
make install
ln -s /usr/local/bin/automake /usr/bin/automake
ln -s /usr/local/bin/aclocal /usr/bin/aclocal


#2.安裝gnuplot-4.4.0
wget http://nchc.dl.sourceforge.net/project/gnuplot/gnuplot/4.4.0/gnuplot-4.4.0.tar.gz
tar -zxvf gnuplot-4.4.0.tar.gz
cd gnuplot-4.4.0
./configure
make
make install
ln -s /usr/local/bin/gnuplot /usr/bin/gnuplot
2、OpenTSDB的安裝 然後下麵是我通過源碼安裝的過程,希望能夠有借鑒意義:
1 git clone https://github.com/OpenTSDB/opentsdb.git
2 cd opentsdb
3 ./build.sh
4 #當build.sh運行完畢的時候 你應該在opentsdb/build文件夾下看到opentsdb.jar
  最後安裝成功了,這裡總結一下: 首先,java要安裝好,各變數也要配置好; 其次,autotools的那幾個工具也要安裝好; opentsdb必須的gnuplot也要安裝好;   額外:因為OpenTSDB的後端是hbase,所以這裡也加上我配置的hbase的簡單介紹: 1、hbase的安裝配置,解壓完後,在/etc/profile中加上 HBASE_HOME=path/to/hbase-0.94.X 不加的話,後面命令需要自己手動加上 完成後source /etc/profile生效; 然後,配置hbase的zookeeper屬性,這與 hbase-env.sh 文件相關,文件中 HBASE_MANAGES_ZK 環境變數用來設置是使用hbase預設自帶的 Zookeeper還是使用獨立的ZooKeeper。HBASE_MANAGES_ZK=false 時使用獨立的,為true時使用預設自帶的。 手動啟動hbase: ./start-hbase cd opentsdb的build目錄 && HBASE_HOME=/home/xxx/hbase-1.2.5 ./src/create_table.sh ./tsdb tsd

 

3、配置文件

配置文件及參數:

zookeeper(hbase依賴於zookeeper所以保證有hbase的同時就保證了有zookeeper)
在opentsdb/src文件夾下有一個opentsdb.conf的配置文件,內有3個主要屬性需要配置:   tsd.http.cachedir opentsdb的緩存數據存放目錄,找個路徑配置好   tsd.http.staticroot opentsdb web 靜態文件的root路徑,一般在opentsdb/build/staticroot   tsd.network.port 綁定的埠 下麵配置為常用可選配置   tsd.network.bind = 0.0.0.0 web 頁面綁定IP,一般配置為0.0.0.0 保證其他IP可以訪問opentsdb的web頁面。   tsd.storage.hbase.zk_quorum = localhost 這個為zookeeper的地址。一般單機版hbase不需要配置 預設在本機。如果zookeeper是獨立的或者分散式在其他機器上請指定IP 多個IP逗號分隔. 還有一些其他配置,請參見官網文檔: http://opentsdb.net/docs/build/html/user_guide/configuration.html   配置文件填寫好了之後將其複製至/etc/下 啟動opentsdb會從以下幾個地方搜索配置文件: ./opentsdb.conf /etc/opentsdb.conf /etc/opentsdb/opentsdb.conf /opt/opentsdb/opentsdb.conf 如果你多個地方都有配置文件,請確保這些多個配置文件的內容一致。也就是說修改一個要同步所有,不然根據你啟動命令執行的路徑不同可能會搜索到不同的配置文件。 建議只弄一個 放在/etc/下就好了。   註意! 若要將opentsdb的tag_values()函數獲得的結果自動更新,需要設置四個參數在配置文件中
  • tsd.core.meta.enable_realtime_uid
  • tsd.core.meta.enable_tsuid_tracking
  • tsd.core.meta.enable_tsuid_incrementing
  • tsd.core.meta.enable_realtime_ts
opentsdb配置文件說明: http://opentsdb.net/docs/build/html/user_guide/stats.html
參數名 類型 是否必選 預設值 詳細介紹
tsd.core.auto_create_metrics Boolean Optional false 新metric的數據點是否被指定UID。 當為false時,資料庫中不具有metric的數據點將被拒絕並將拋出異常。
tsd.core.auto_create_tagks (2.1) Boolean Optional true 帶有新標簽名稱的數據點是否會將一個UID分配給tagk。 當為false時,具有不在資料庫中的標簽名稱的數據點將被拒絕並將拋出異常。
tsd.core.auto_create_tagvs (2.1) Boolean Optional true 是否具有新標簽值的數據點將分配給tagv的UID。 當為false時,具有不在資料庫中的標記值的數據點將被拒絕並將拋出異常。
4、啟動OPENTSDB: 首先先創建hbase表: 在opentsdb/src下有個create_tab.sh的腳本 執行: env COMPRESSION=NONE HBASE_HOME=path/to/hbase-0.94.X ./src/create_table.sh COMPRESSION=NONE指定hbase表的壓縮方式,可選:NONE, LZO, GZIP or SNAPPY HBASE_HOME不多說,如果配置好了在環境變數中可以不寫這個。 最後一個就是執行建表腳本了。 建表完成後就可以啟動了: 在opentsdb/build文件夾下有個tsdb的腳本 執行 ./tsdb tsd 即可啟動opentsdb 打開對應ip和port的頁面即可看到頁面,如要後臺執行:nohup ./tsdb tsd & 即可   5、OpenTSDB的簡單使用 telnet客戶端發送數據至opentsdb 創建metric:./tsdb mkmetric metricName telnet ip port 連接到opentsd 語法如下:    put 如:put sys.cpu.user 1356998400 42.5 host=webserver01 cpu=0         post方式發送數據:發送post請求至 ip:port/api/put,參數為json數據,如下:
Name Data Type Required Description QS
metric String Required The name of the metric you are storing sys.cpu.nice
timestamp Integer Required A Unix epoch style timestamp in seconds or milliseconds. The timestamp must not contain non-numeric characters. 1365465600
value Integer, Float, String Required The value to record for this data point. It may be quoted or not quoted and must conform to the OpenTSDB value rules: Writing
Data
42.5
tags Map Required A map of tag name/tag value pairs. At least one pair must be supplied. {"host":"web01"}
示例: { "metric": "sys.cpu.nice", "timestamp": 1346846400, "value": 18, "tags": { "host": "web01", "dc": "lga" }} 發送成功會返回204狀態 詳細請參見: http://opentsdb.net/docs/build/html/api_http/put.html ------------------------------------------- scan命令 掃描命令對於調試和導出數據點很有用。 提供開始時間,可選的結束時間和一個或多個查詢,響應將是可接受用於導入命令的文本格式的存儲或數據點的原始位元組數據。 掃描還提供刪除數據的基本方法。 scan命令接受常見的CLI參數。 數據被髮送到標準輸出。 請註意,雖然查詢需要聚合器,但卻被有效地忽略。 如果查詢包含許多時間序列,則掃描輸出可能非常大,因此在製作查詢時要小心。   scan [--delete|--import] START-DATE [END-DATE] query [queries...]
Name Data Type Description Default Example
--delete Flag Optional flag that deletes data in any row that matches the query. See warning below.
可選標記,用於刪除與查詢匹配的任何行中的數據。
Not set --delete
--import flag Optional flag that outputs results in a text format useful for importing or storing as a backup. Not set --import
START-DATE String or Integer Starting time for the query. This may be an absolute or relative time. See Dates and Times for details   1h-ago
END-DATE String or Integer Optional end time for the query. If not provided, the current time is used. This may be an absolute or relative time. See Dates and Times for details Current timestamp 2014/01/01-00:00:00
query String One or more command line queries   sum tsd.hbase.rpcs type=put
example ./tsdb scan 2014/05/01 sum test_uid ed=endp --delete ./tsdb scan 2014/05/01 sum TcpExt.ArpFilter --delete  

三、grafana安裝(grafana的具體介紹及使用方法會單獨開一篇文章介紹)

  Grafana 安裝 1, 在官網下載grafana 安裝包,安裝好了之後,根據安裝輸出日誌的提示 啟動 grafana 即可(grafana-server start) 2,啟動 grafana 後 打開機器 IP:3000埠 即可登錄 grafana 界面,初始密碼 admin admin 3,在 datasource 中添加一個數據源,選擇 opentsdb 填入 ip+埠 即可。opentsdb 預設為4242埠。    
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1. 單主模式的部署步驟 目標:部署一個有3台主機的單主模式的MySQL分組。 Primary:192.168.197.110。 Secondary:192.168.197.111。 Secondary:192.168.197.112。 MySQL埠:3306,MySQL分組複製埠:33061。 ...
  • 有時候,一般情況下,我們對伺服器上 IIS 上的管理局限於 使用遠程桌面;現在介紹一種,通過 本機 管理管理遠程IIS 的方法! 1. 伺服器端設置: 伺服器管理器 ==》增加角色和功能嚮導==》勾選 管理服務 安裝。 1)如圖所示安裝 2)安裝完成之後,遠程 的 IIS 中 安全性 一欄中 會 出 ...
  • 一、兩個腳本代碼 Dockerfile hello_world.sh 二、打包成鏡像 1、 這裡要註意,打包指令需要在Dockerfile、hello_world.sh下進行,指令後面最後一個“.”,這叫上下文路徑。 2、查看鏡像文件列表,看看是否成功 三、保存成tar.gz格式並檢查當前目錄下包是 ...
  • 其實關於這方面的知識,我閱讀的是《UNIX網路編程:捲一》,書里是以UNIX為中心展開描述的,根據這部分知識,在網上參考了部分資料。以Linux為中心整理了這篇博客。 Linux的I/O模型 和Unix的I/O模型基本一致,Linux下一共有5種I/O模型[1] 阻塞式I/O模型; 非阻塞式I/O模 ...
  • 本文是經驗帖,以後遇到類似的情況會持續更新到這篇文章 普通用戶使用sudo會遇到一下情況 1.無法寫入 /var/log/messages /var/log/secure 2.無法使用字元重定向在 /etc/security/limit.d 目錄下新建文件 3.無法將字元流重定向到 /etc/gru ...
  • SELinux是美國國家安全局(NSA)對於強制訪問控制的實現,是 Linux歷史上最傑出的新安全子系統。但是SELinux的並不能與眾多服務很好的相容,有些人會關閉SELinux一了百了。在日常的運維過程中很少去頻繁的開啟關閉SElinux,今天我就寫一個關閉與開啟SELinux的腳本來鍛煉我的腳 ...
  • 話不多說, 直接上教程. 首先備份/etc/yum.repos.d/CentOS Base.repo 下載對應版本repo文件, 放入/etc/yum.repos.d/(操作前請做好相應備份) 運行以下命令生成緩存 參考: "CentOS鏡像使用幫助" ...
  • 用apt-get安裝軟體時提示: 無法獲得鎖 /var/lib/dpkg/lock - open(11:資源暫時不可用) 無法鎖定管理目錄(/var/lib/dpkg/),是否有其他進程正占用它? 其實報錯已經給了提示了,就是有進程正在占用apt-get命令,So... 命令跑起來,找出這個進程,k ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...