成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

[afterCode] docker 速成班 7: 實(shí)戰(zhàn) 構(gòu)建基于graphtie/grafana監(jiān)

jhhfft / 3037人閱讀

摘要:由于公司沒有運(yùn)維又需要監(jiān)控服務(wù)器的一些數(shù)據(jù)信息想盡快的啟動(dòng)一個(gè)數(shù)值監(jiān)控系統(tǒng)技術(shù)評(píng)估了下打算的方式來(lái)建設(shè)是一個(gè)時(shí)間數(shù)列數(shù)據(jù)庫(kù)并且自帶一些簡(jiǎn)單圖形展示功能雖然展示方面不是很完美但是在收集時(shí)間數(shù)據(jù)上非常的方便和簡(jiǎn)單根據(jù)官網(wǎng)的例子只需要一個(gè)連接就能

由于公司沒有運(yùn)維, 又需要監(jiān)控服務(wù)器的一些數(shù)據(jù)信息, 想盡快的啟動(dòng)一個(gè)數(shù)值監(jiān)控系統(tǒng). 技術(shù)評(píng)估了下打算 graphite + grafana 的方式來(lái)建設(shè).

graphite 是一個(gè)時(shí)間數(shù)列數(shù)據(jù)庫(kù),并且自帶一些簡(jiǎn)單 web 圖形展示功能. 雖然 web 展示方面不是很完美,但是在收集時(shí)間數(shù)據(jù)上非常的方便和簡(jiǎn)單. 根據(jù) https://graphiteapp.org/ 官網(wǎng)的例子,只需要一個(gè) tcp 連接就能向 graphite 服務(wù)上傳基于時(shí)間的數(shù)值了.

echo "foo.bar 1 `date +%s`" | nc graphitehost 2003

而 grafana 呢? 是一個(gè)顏值極高的數(shù)據(jù)圖形化分析和監(jiān)控應(yīng)用. 至于顏值有多高呢?自己直接看看這個(gè) demo 就能知道了 http://play.grafana.org/. 最重要的一點(diǎn)是 grafana 官方自帶 graphite 的數(shù)據(jù)源的插件. 這應(yīng)用組合在一起就開箱即用了.

那為了方便快捷開發(fā)和開發(fā)這個(gè)系統(tǒng),就決定用 docker-compose 的方式構(gòu)建由graphite 和 grafana 組合的服務(wù).

服務(wù)端配置
version: "3"

services:
  graphite:
    container_name: monitor_graphite
    restart: always
    image: sitespeedio/graphite
    volumes:
      - ./data/graphite/storage/whisper:/opt/graphite/storage/whisper
      - ./data/graphite/storage-schemas.conf:/opt/graphite/conf/storage-schemas.conf
    ports:
      - "2003:2003"
      - "8093:80"
  grafana:
    container_name: monitor_grafana
    restart: always
    image: grafana/grafana
    ports:
      - 3018:3000
    environment:
      - "GF_SECURITY_ADMIN_PASSWORD=screct"
      - "GF_SERVER_ROOT_URL=http://subdomain.yourdomain.com"
    volumes:
      - "./data/grafana:/var/lib/grafana"

這里通過(guò) volumes 字段將兩個(gè)服務(wù)的磁盤空間都映射到本地主機(jī)上;映射的路徑都可以在 docker hub 上這個(gè)容器說(shuō)明里面看到;這樣我們監(jiān)控的數(shù)據(jù)就持久化到了本地.

在服務(wù)端通過(guò) docker-compose up -d 就將服務(wù)啟動(dòng)起來(lái)了;用配置 grafana 默認(rèn)管理員賬戶密碼配置好 graphite 的數(shù)據(jù)源. 需要注意的就是在配置 graphite 的http url 的時(shí)候直接使用 http://monitor_graphite 就可以了; 訪問(wèn)的方式選擇為proxy. 最后填好 graphite 對(duì)應(yīng)的鑒權(quán)信息. 服務(wù)端 graphite 和 grafana 就配置好了.

這里需要注意的是, graphite 的 2003 是需要暴露到公網(wǎng)的. 所以記得設(shè)置主機(jī)的防火墻;還有就是由于是直接暴露到了公網(wǎng)的,最好針對(duì)訪問(wèn)的 ip 做好白名單.

客戶端

收集數(shù)據(jù)的客戶端其實(shí)非常的簡(jiǎn)單, 創(chuàng)建一個(gè)到 graphite 的 TCP 連接;然后寫入自己需要的保存的數(shù)據(jù)即可.為了驗(yàn)證可行性,就直接用 node.js 來(lái)寫入即可.

// report.js

function ts() {
    return Math.floor(Date.now() / 1000)
}

const client = net.connect(config.graphitePort, config.graphiteHost, () => {
 client.setNoDelay(true)

  setInterval(function () {
    const [cpuUsageIn1Min] = os.loadavg()
    client.write(`server.${config.nameSpace}.os.cpu ${cpuUsageIn1Min} ${ts()}
`)
  }, ms("10s"));
})

client.on("end", () => {
  process.exit(0)
})

使用 docker 可以快速的構(gòu)建起應(yīng)用所需要基礎(chǔ)設(shè)施,自己只要寫一些定制的內(nèi)容就很快的完成任務(wù). 感謝 docker.

希望大家喜歡.

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/27078.html

相關(guān)文章

  • [afterCode] docker 成班 6: docker-compose

    摘要:通過(guò)的我們可以將多個(gè)有機(jī)的組合起來(lái)構(gòu)建出自己需要的服務(wù)但是這里有幾個(gè)小問(wèn)題就是不利于分享步驟麻煩需要自己創(chuàng)建指定使用那如何解決上面的兩個(gè)問(wèn)題呢第節(jié)例子中的服務(wù)可以通過(guò)創(chuàng)建一個(gè)這樣的文件來(lái)解決通過(guò)下面的命令就能將所有需要的啟動(dòng)起來(lái) 通過(guò)docker 的 network我們可以將多個(gè) container 有機(jī)的組合起來(lái)構(gòu)建出自己需要的服務(wù). 但是這里有幾個(gè)小問(wèn)題就是 不利于分享. 步驟麻...

    Integ 評(píng)論0 收藏0
  • [afterCode] docker 成班 4: 自建 Image

    摘要:通過(guò)能獲得很多別人定制好的但是如果自己想制作一個(gè)自己容器該怎么弄呢用就像一個(gè)腳本文件告訴如何創(chuàng)建一個(gè)新的下面舉例來(lái)用來(lái)制作一個(gè)服務(wù)器的指令剛才提到了社區(qū)已經(jīng)有很多很好用的那我們要構(gòu)建自己的的話就可以在這些的基礎(chǔ)上來(lái)做我們要做一個(gè)基于的服務(wù)器 通過(guò) docker hub 能獲得很多別人定制好的image, 但是如果自己想制作一個(gè)自己容器該怎么弄呢? 用 Dockerfile Docker...

    Charles 評(píng)論0 收藏0
  • [afterCode] docker 成班 5: 組合 container

    摘要:到現(xiàn)在為止我們會(huì)從拉取自己需要的文件并執(zhí)行起來(lái)還會(huì)基于已有的來(lái)制作自己特殊需要的但是如果我們完成一個(gè)功能需要多個(gè)組合起來(lái)使用該怎么辦呢雖然可以通過(guò)來(lái)制作一個(gè)這樣的但是如果所有的功能都做在一個(gè)中如果有一個(gè)模塊需呀改變的話就需要重新構(gòu)建整個(gè)作為 到現(xiàn)在為止,我們會(huì)從 docker hub 拉取自己需要的 image 文件并執(zhí)行起來(lái). 還會(huì)基于已有的 image 來(lái)制作自己特殊需要的 ima...

    neuSnail 評(píng)論0 收藏0
  • [afterCode] docker 成班 番外篇: 隨機(jī)容器名

    摘要:上一篇提到使用啟動(dòng)一個(gè)容器如果沒有使用來(lái)指定容器名字的話會(huì)自動(dòng)按照形容詞名人名的形式生成一個(gè)那這些名人是誰(shuí)呢源代碼說(shuō)明一切自用一些著名的科學(xué)家和黑客名字來(lái)命名容器如果有你認(rèn)為有還沒有在這些列表中的話給項(xiàng)目提交哈哈想給牛逼項(xiàng)目提交嗎又多 上一篇 blog 提到使用 docker 啟動(dòng)一個(gè)容器如果沒有使用--name來(lái)指定容器名字的話,docker 會(huì)自動(dòng)按照 形容詞_名人名的形式生成一個(gè)...

    gxyz 評(píng)論0 收藏0
  • [afterCode] docker 成班 1: image

    摘要:在程序員英語(yǔ)娛樂(lè)主題節(jié)目的直播中介紹了下在網(wǎng)站學(xué)習(xí)的視頻由于時(shí)間倉(cāng)促只學(xué)習(xí)了一部分最近因?yàn)榈墓镜脑蛞矝]有時(shí)間繼續(xù)搞直播所以想寫一篇分享下自己的的學(xué)習(xí)經(jīng)驗(yàn)想學(xué)習(xí)簡(jiǎn)短有效的風(fēng)格所以就將文章題目定為速成班準(zhǔn)備本地已經(jīng)安裝好了現(xiàn)在各個(gè)操作系統(tǒng)上 在程序員英語(yǔ)娛樂(lè)主題節(jié)目http://www.douyu.com/aftercode的直播中介紹了下在 egghead 網(wǎng)站學(xué)習(xí) docker 的...

    waltr 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

jhhfft

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<