Guest User

telegrafとinfluxdbとgrafanaの導入

a guest
May 4th, 2020
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.06 KB | None | 0 0
  1. 前提の話ですが、rasberry piを使用する場合、そのまま利用するとmicroSDにリソース情報を書き込むため寿命を縮めます。
  2. 事前にSSDやHDDなどの外付けに保存するようご注意ください。
  3. それぞれのconfを書き換えても良いですが、手っ取り早く /var を外付けに保存していることを前提に書いています。
  4.  
  5. ```
  6. $ sudo apt install apt-transport-https
  7. $ curl https://repos.influxdata.com/influxdb.key | sudo apt-key add -
  8. $ curl https://packages.grafana.com/gpg.key | sudo apt-key add -
  9. $ source /etc/lsb-release
  10. $ sudo curl “deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable” | sudo tee /etc/apt/sources.list.d/influxdb.list
  11. $ sudo add-apt-repository “deb https://packages.grafana.com/oss/deb stable main”
  12. $ sudo apt update && sudo apt install influxdb telegraf grafana
  13. $ sudo systemctl enable grafana-server
  14. ```
  15.  
  16. grafanaだけサービスがdisableでしたのでインストール直後にサービスをenableに変更しています。
  17.  
  18. `/etc/telegraf/telegraf.conf` のショート版設定内容です
  19. 編集前にバックアップいただき、どういう値が取れるかも参考にいただいた方が良いと思います。
  20.  
  21. `sudo cp /etc/telegraf/telegraf.conf /etc/telegraf/telegraf.conf.bak`
  22.  
  23. 以下は普通に `sudo vim /etc/telegraf/telegraf.conf` です。
  24.  
  25. ```
  26. [global_tags]
  27. [agent]
  28. interval = "60s"
  29. round_interval = true
  30. metric_batch_size = 1000
  31. metric_buffer_limit = 10000
  32. collection_jitter = "0s"
  33. flush_interval = "60s"
  34. flush_jitter = "0s"
  35. precision = ""
  36. hostname = ""
  37. omit_hostname = false
  38. [[outputs.influxdb]]
  39. [[inputs.cpu]]
  40. percpu = true
  41. totalcpu = true
  42. collect_cpu_time = false
  43. report_active = false
  44. [[inputs.disk]]
  45. mount_points = ["/","/var"]
  46. ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]
  47. [[inputs.io]]
  48. [[inputs.diskio]]
  49. [[inputs.kernel]]
  50. [[inputs.mem]]
  51. [[inputs.processes]]
  52. [[inputs.swap]]
  53. [[inputs.system]]
  54. [[inputs.net]]
  55. interfaces = ["eth0","wlan0"]
  56. [[inputs.netstat]]
  57. remove_numbers = true
  58. timeout = "5s"
  59. [[inputs.systemd_units]]
  60. unittype = "service"
  61. [[inputs.wireless]]
  62. host_proc = "/proc"
  63. ```
  64.  
  65. telegrafの設定が終わったらサービスをreloadです
  66.  
  67. `sudo systemctl reload telegraf`
  68.  
  69. grafanaはサービスが停止しているのでサービス起動から実施で
  70.  
  71. `sudo systemctl start grafana-server`
  72.  
  73. grafanaは設定ファイルがなく、WebGUIから操作します。
  74. http://localhost or Private IP:3000/ でアクセスします。
  75.  
  76. ログイン画面が表示されますので以下のユーザでログインし、パスワード変更します。
  77.  
  78. ユーザ名 / パスワード
  79. admin / admin
  80.  
  81. ログインしたらサイドメニューに + ボタンがあるので押すとDashboardのimport画面になります。
  82. 5955と入力し、importします。
  83.  
  84. 表示されたダッシュボードでほとんど N/AやNoneだと思いますので、各項目を編集できるため編集します。
  85. SQLみたいにselect文が書かれているのですが、このselect文がinfluxdbから取得しているselect文になっています。
  86.  
  87. 変更前
  88.  
  89. ```
  90. WHERE ("host" =~ /^$server$/)
  91. ```
  92.  
  93. 変更後
  94.  
  95. ```
  96. WHERE ("host" =~ /^$server$/)
  97. ```
  98.  
  99. おかしいのはWHERE句の$server$の前にある ^ が不要で、これがあることでN/AやNone表示になっています。
  100. うまく取得できればリアルタイムで表示されます。
  101.  
  102. dashboardに表示されている全ての項目から ^ を取り除けたらあとはお好きなようにdashboardを触ってみてください。
  103. うまく作ればCPUの温度やHDDの温度なども取得できるようになりますのでプログラミングやOS知識がある人はできると思います。
  104.  
  105. Good luck.
  106.  
  107. 参考にしたURL
  108. ttps://docs.influxdata.com/telegraf/v1.14/introduction/installation/
  109. ttps://grafana.com/docs/grafana/latest/installation/
  110. ttps://goozenlab.com/blog/2019/08/telegraf-pi-install/
Add Comment
Please, Sign In to add comment