<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Telegraf on Ingenboy.inc</title>
    <link>https://blog.ingenboy.com/tags/telegraf/</link>
    <description>Recent content in Telegraf on Ingenboy.inc</description>
    <image>
      <title>Ingenboy.inc</title>
      <url>https://blog.ingenboy.com/%3Clink%20or%20path%20of%20image%20for%20opengraph,%20twitter-cards%3E</url>
      <link>https://blog.ingenboy.com/%3Clink%20or%20path%20of%20image%20for%20opengraph,%20twitter-cards%3E</link>
    </image>
    <generator>Hugo -- 0.152.2</generator>
    <language>en</language>
    <lastBuildDate>Sun, 23 Feb 2025 00:38:12 +0900</lastBuildDate>
    <atom:link href="https://blog.ingenboy.com/tags/telegraf/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>O11y</title>
      <link>https://blog.ingenboy.com/post/o11y/</link>
      <pubDate>Sun, 23 Feb 2025 00:38:12 +0900</pubDate>
      <guid>https://blog.ingenboy.com/post/o11y/</guid>
      <description>&lt;h1 id=&#34;oss-o11y-最強セット&#34;&gt;oss o11y 最強セット&lt;/h1&gt;
&lt;p&gt;題名の通り。
o11yを実施するためのoss最強セットです。
構築していきたいと思います。&lt;/p&gt;
&lt;h1 id=&#34;環境&#34;&gt;環境&lt;/h1&gt;
&lt;p&gt;hugo_server : Grafana, Gateway&lt;/p&gt;
&lt;p&gt;hugo_server -&amp;gt; jhonny : Openvpn tunneling&lt;/p&gt;
&lt;p&gt;jhonny : Prometheus, Opensearch, (maybe kafka?)&lt;/p&gt;
&lt;h1 id=&#34;集めたいデータ&#34;&gt;集めたいデータ&lt;/h1&gt;
&lt;h2 id=&#34;gslb周り&#34;&gt;GSLB周り&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;GSLBのHCデータ&lt;/li&gt;
&lt;li&gt;GSLBのアクセスログ&lt;/li&gt;
&lt;li&gt;GSLB clusterの各ノードの状態&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;openvpn周り&#34;&gt;openvpn周り&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;vpnserverのログ&lt;/li&gt;
&lt;li&gt;vpnserverのステータス&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 id=&#34;構築&#34;&gt;構築&lt;/h1&gt;
&lt;h2 id=&#34;grafana&#34;&gt;Grafana&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;apt install grafana-serverでインストール&lt;/li&gt;
&lt;li&gt;sudo systemctl enable grafana-serverでデーモン化&lt;/li&gt;
&lt;li&gt;sudo vim /etc/grafana/grafana.ini でホストヘッダーを設定&lt;/li&gt;
&lt;li&gt;sudo vim /etc/nginx/nginx.confでプロキシの設定&lt;/li&gt;
&lt;li&gt;grafanaにアクセス。初期ユーザ、パスワード：admin,admin&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;prometheus&#34;&gt;prometheus&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;公式からprometheusのbinary + 設定ファイルのtarをダウンロード
&lt;a href=&#34;https://prometheus.io/docs/prometheus/latest/getting_started/&#34;&gt;ref&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;設定ファイルやbinaryを移動する
/etc/prometheus/prometheus.yml、/var/lib/prometheus/data/、&lt;/li&gt;
&lt;li&gt;ユニットファイルを作る（/lib/systemd/system/prometheus.service）&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[Unit]
Description=Prometheus Server
Wants=network-online.target
After=network-online.target

[Service]
User=root
Group=root
ExecStart=/usr/local/bin/prometheus \
  --config.file=/etc/prometheus/prometheus.yml \
  --storage.tsdb.path=/var/lib/prometheus/data \
  --web.listen-address=0.0.0.0:9090

Restart=always
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target
&lt;/code&gt;&lt;/pre&gt;&lt;ol start=&#34;4&#34;&gt;
&lt;li&gt;sudo systemctl daemon-reload&lt;/li&gt;
&lt;li&gt;sudo systemctl start prometheus&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;という感じですね。完璧ですー。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mtailなどを使い、nginxを完璧に監視する</title>
      <link>https://blog.ingenboy.com/post/master_monitoring/</link>
      <pubDate>Fri, 18 Oct 2024 12:14:25 +0900</pubDate>
      <guid>https://blog.ingenboy.com/post/master_monitoring/</guid>
      <description>&lt;h1 id=&#34;やりたいこと&#34;&gt;やりたいこと&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;k8s上にechoサーバを分散させる&lt;/li&gt;
&lt;li&gt;プロキシサーバ (nginx) を立てて、そいつらに負荷分散できるようにする&lt;/li&gt;
&lt;li&gt;Mtailを使って、nginxのログを収集して、prometheus形式に変換、telegrafで取得しinflux Dbに送信　（このときにタグもつけたいかも）&lt;/li&gt;
&lt;li&gt;Cloudproberでnginxを監視したい。cloudprober -&amp;gt; prometheusに変換 -&amp;gt; telegrafで取得しinflux DBに送信（タグもつけたいかもしれない）&lt;/li&gt;
&lt;li&gt;以上を全てansibleを使って実現したいという話だよね。厳しいかな。どうかな？？&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;正直k8sは必須ではない。時間がかかりそうであれば、先にgoとかで簡単なecho-serverを作って1を完了させてしまうのも全然あり。
今回の目的はあくまでnginxのモニタリングをガチガチにするってことだからね。でも、k8sの監視はちょっとしてみたいかもしれないね。
最初からprometheus形式でexportしてくれるみたいだからね。気になるところではあります。
ただ、k8sはその性質上、コンテナをデプロイするから、どこからコンテナを取ってくるかを決める必要がありますね。外部に漏らしたくない情報が入っているのであればprivateリポジトリを立てるしかない。そうでなければdocker hubでいいかな。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Telegraf &#43; InfluxDBでシステムモニタリング</title>
      <link>https://blog.ingenboy.com/post/telegraf/</link>
      <pubDate>Thu, 01 Aug 2024 19:00:11 +0900</pubDate>
      <guid>https://blog.ingenboy.com/post/telegraf/</guid>
      <description>&lt;h1 id=&#34;参考文献&#34;&gt;参考文献&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/influxdata/telegraf&#34;&gt;Telegraf&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/grafana/grafana&#34;&gt;grafana&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/prometheus/prometheus&#34;&gt;prometheus&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 id=&#34;最終成果物&#34;&gt;最終成果物&lt;/h1&gt;
&lt;p&gt;&lt;a href=&#34;https://blog.ingenboy.com:8080/&#34;&gt;influx_dbのダッシュボード&lt;/a&gt;&lt;/p&gt;
&lt;h1 id=&#34;背景&#34;&gt;背景&lt;/h1&gt;
&lt;p&gt;業務でnginxの運用に携わっているのだが、nginxのrpsやレスポンスステータスごとの返却数など、どうやってモニタリングしているのか気になっていた。telegrafを使っていたのはわかったんだけど、実際にどうやってデータを取って、それをどうやってデータサーバで保存して、可視化をしていたのか、非常に気になっていたのです。それが今日解決しました。Telegraf、grafana、そして、prometheus,結構使えそうです。この記事では、メトリクスを可視化するためのツールを揃えていこうと思います。&lt;/p&gt;
&lt;h1 id=&#34;telegrafの概要&#34;&gt;Telegrafの概要&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;Telegraf is an agent for collecting, processing, aggregating, and writing metrics, logs, and other arbitrary data.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;他にもTelegrafこういう感じのTelegrafの説明もあります。僕はこっちの方が好きだった&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Telegraf, a server-based agent, collects and sends metrics and events from databases, systems, and IoT sensors. Written in Go, Telegraf compiles into a single binary with no external dependencies–requiring very minimal memory.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;らしいですね。
collecting and writingなので、データをどこからか取ってきて、どこかに送るというわけです。そうです、inputとoutputを決められるわけですね。それも膨大な数のInputとoutputがあります。正直これは驚きました。こんなにあるんかとね。すごいです。ちょっと使えそうなinputとoutputを何個かpickupしておきたいと思います。&lt;/p&gt;
&lt;h2 id=&#34;input&#34;&gt;input&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/influxdata/telegraf/tree/master/plugins/inputs/apache&#34;&gt;Apache Input Plugin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/influxdata/telegraf/tree/master/plugins/inputs/bind&#34;&gt;BIND 9 Nameserver Statistics Input Plugin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/influxdata/telegraf/tree/master/plugins/inputs/ceph&#34;&gt;Ceph Storage Input Plugin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/influxdata/telegraf/tree/master/plugins/inputs/cgroup&#34;&gt;CGroup Input Plugin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/influxdata/telegraf/tree/master/plugins/inputs/conntrack&#34;&gt;Conntrack Input Plugin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/influxdata/telegraf/tree/master/plugins/inputs/couchdb&#34;&gt;CouchDB Input Plugin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/influxdata/telegraf/tree/master/plugins/inputs/cpu&#34;&gt;CPU Input Plugin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/influxdata/telegraf/tree/master/plugins/inputs/disk&#34;&gt;Disk Input Plugin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/influxdata/telegraf/tree/master/plugins/inputs/dns_query&#34;&gt;DNS Query Input Plugin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/influxdata/telegraf/tree/master/plugins/inputs/docker&#34;&gt;Docker Input Plugin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/influxdata/telegraf/tree/master/plugins/inputs/kernel&#34;&gt;Kernel Input Plugin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/influxdata/telegraf/tree/master/plugins/inputs/kubernetes&#34;&gt;Kubernetes Input Plugin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/influxdata/telegraf/tree/master/plugins/inputs/lustre2&#34;&gt;Lustre Input Plugin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/influxdata/telegraf/tree/master/plugins/inputs/mysql&#34;&gt;MySQL Input Plugin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/influxdata/telegraf/tree/master/plugins/inputs/nginx&#34;&gt;Nginx Input Plugin&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;って感じで本当になんでもある。これはえぐい。
16. nvidia-smi
17. postgres
18. proxmox
19. prometheus&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
