<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Grafana on ポンコツ地方エンジニアの技術ブログ</title><link>https://blog.ponkotools.com/tags/grafana/</link><description>Recent content in Grafana on ポンコツ地方エンジニアの技術ブログ</description><generator>Hugo -- gohugo.io</generator><language>ja-jp</language><lastBuildDate>Fri, 06 Jan 2023 00:00:00 +0900</lastBuildDate><atom:link href="https://blog.ponkotools.com/tags/grafana/index.xml" rel="self" type="application/rss+xml"/><item><title>Grafana Cloud で InfluxDB v2 のデータを可視化する</title><link>https://blog.ponkotools.com/posts/2023/01/06/influxdb-cloud/</link><pubDate>Fri, 06 Jan 2023 00:00:00 +0900</pubDate><guid>https://blog.ponkotools.com/posts/2023/01/06/influxdb-cloud/</guid><description>&lt;p&gt;InfluxDB v2 ではそれ自体でダッシュボードの作成もできますが、まだまだ使いにくかったり細かい設定ができなかったりしたので、使い慣れている Grafana を使うことにしました。&lt;br&gt;
また、この機会に Grafana もオンプレミス版からクラウドサービスの Grafana Cloud に変更しました。&lt;/p&gt;
&lt;p&gt;Grafana Cloud へのサインアップ方法などは割愛します。&lt;/p&gt;
&lt;h2 id="データソースの設定"&gt;&lt;a href="#%e3%83%87%e3%83%bc%e3%82%bf%e3%82%bd%e3%83%bc%e3%82%b9%e3%81%ae%e8%a8%ad%e5%ae%9a" class="header-anchor"&gt;&lt;/a&gt;データソースの設定
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;サイドメニューから &lt;code&gt;Data Sources&lt;/code&gt; を選択します。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Add data source&lt;/code&gt; をクリックし、&lt;code&gt;InfluxDB&lt;/code&gt; をクリックします。&lt;/li&gt;
&lt;li&gt;InfluxDB の情報を入力します。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;InfluxDB Cloud の場合、&lt;code&gt;Query Language&lt;/code&gt; は &lt;code&gt;Flux&lt;/code&gt; を選択します。&lt;br&gt;
また、URL, トークン、バケット名が必要になるので、以下を参考に取得しておきます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://kuttsun.blogspot.com/2022/12/influxdb-cloud.html" target="_blank" rel="noopener"
 &gt;https://kuttsun.blogspot.com/2022/12/influxdb-cloud.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="ダッシュボードパネルの作成"&gt;&lt;a href="#%e3%83%80%e3%83%83%e3%82%b7%e3%83%a5%e3%83%9c%e3%83%bc%e3%83%89%e3%83%91%e3%83%8d%e3%83%ab%e3%81%ae%e4%bd%9c%e6%88%90" class="header-anchor"&gt;&lt;/a&gt;ダッシュボード（パネル）の作成
&lt;/h2&gt;&lt;p&gt;InfluxDB v1 では GUI でポチポチと設定していくだけでグラフが表示できましたが、InfluxDB v2 では Flux で処理を書いていく必要があります。&lt;br&gt;
最初は難しかったですが、慣れればこちらのほうが簡単に思えてきました。&lt;br&gt;
いくつか例を挙げます。&lt;/p&gt;
&lt;h3 id="基本"&gt;&lt;a href="#%e5%9f%ba%e6%9c%ac" class="header-anchor"&gt;&lt;/a&gt;基本
&lt;/h3&gt;&lt;p&gt;以下にサンプルがあります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://grafana.com/docs/grafana/latest/datasources/influxdb/query-editor/#use-macros" target="_blank" rel="noopener"
 &gt;https://grafana.com/docs/grafana/latest/datasources/influxdb/query-editor/#use-macros&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;from(bucket:&amp;#34;バケット名&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; |&amp;gt; range(start: v.timeRangeStart, stop: v.timeRangeStop)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; |&amp;gt; filter(fn:(r) =&amp;gt; r._measurement == &amp;#34;メジャーメント名&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; |&amp;gt; filter(fn:(r) =&amp;gt; r[&amp;#34;_field&amp;#34;] == &amp;#34;表示したいフィールドの名前&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; |&amp;gt; aggregateWindow(every: v.windowPeriod, fn: mean)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;基本的にはこれでグラフが作成できます。&lt;/p&gt;
&lt;h3 id="一日ごとのデータを表示"&gt;&lt;a href="#%e4%b8%80%e6%97%a5%e3%81%94%e3%81%a8%e3%81%ae%e3%83%87%e3%83%bc%e3%82%bf%e3%82%92%e8%a1%a8%e7%a4%ba" class="header-anchor"&gt;&lt;/a&gt;一日ごとのデータを表示
&lt;/h3&gt;&lt;p&gt;例えば株価の終値を表示したい場合などは以下のようにすることでできました。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;import &amp;#34;timezone&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;option location = timezone.location(name: &amp;#34;Asia/Tokyo&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;from(bucket:&amp;#34;バケット名&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; |&amp;gt; range(start: -30d, stop: now())
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; |&amp;gt; filter(fn:(r) =&amp;gt; r._measurement == &amp;#34;メジャーメント名&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; |&amp;gt; filter(fn:(r) =&amp;gt; r[&amp;#34;_field&amp;#34;] == &amp;#34;表示したいフィールドの名前&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; |&amp;gt; aggregateWindow(every: 1d, fn: last)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ポイントは &lt;code&gt;aggregateWindow(every: 1d, fn: last)&lt;/code&gt; で、一日ごとの最後の値を取得しています。&lt;/p&gt;
&lt;p&gt;また、タイムゾーンを指定しないと UTC での終値（つまり、日本時間の9時の時点の値）が取得されてしまったので、JST を指定しました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://www.influxdata.com/blog/time-zones-in-flux/" target="_blank" rel="noopener"
 &gt;https://www.influxdata.com/blog/time-zones-in-flux/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;尚、私の場合はグラフではなくテーブル表示にしたかったため、グラフの表示期間に関わらず &lt;code&gt;range(start: -30d, stop: now())&lt;/code&gt; で直近30日固定表示にしています。&lt;/p&gt;
&lt;h3 id="累積グラフの作成"&gt;&lt;a href="#%e7%b4%af%e7%a9%8d%e3%82%b0%e3%83%a9%e3%83%95%e3%81%ae%e4%bd%9c%e6%88%90" class="header-anchor"&gt;&lt;/a&gt;累積グラフの作成
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;cumulativeSum&lt;/code&gt; を使います。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://docs.influxdata.com/influxdb/cloud/query-data/flux/cumulativesum/" target="_blank" rel="noopener"
 &gt;https://docs.influxdata.com/influxdb/cloud/query-data/flux/cumulativesum/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;例えば、日次損益の集計を行う場合などは以下のようにするとできました。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;import &amp;#34;timezone&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;option location = timezone.location(name: &amp;#34;Asia/Tokyo&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;from(bucket:&amp;#34;バケット名&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; |&amp;gt; range(start: -30d, stop: now())
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; |&amp;gt; filter(fn:(r) =&amp;gt; r._measurement == &amp;#34;メジャーメント名&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; |&amp;gt; filter(fn:(r) =&amp;gt; r[&amp;#34;_field&amp;#34;] == &amp;#34;表示したいフィールドの名前&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; |&amp;gt; aggregateWindow(every: 1d, fn: last)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; |&amp;gt; cumulativeSum()
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;一日ごとの値は取り出す方法は前述の例と同じです。&lt;br&gt;
あとはそれを &lt;code&gt;cumulativeSum()&lt;/code&gt; で加算していくだけです。&lt;br&gt;
これにより、一日ごとの値を加算してグラフに表示できます。&lt;/p&gt;
&lt;h2 id="参考-url"&gt;&lt;a href="#%e5%8f%82%e8%80%83-url" class="header-anchor"&gt;&lt;/a&gt;参考 URL
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://qiita.com/aikige/items/22dc9ebc64e32a5bdfae" target="_blank" rel="noopener"
 &gt;https://qiita.com/aikige/items/22dc9ebc64e32a5bdfae&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://qiita.com/ekzemplaro/items/f462dfc0d81329b39c09" target="_blank" rel="noopener"
 &gt;https://qiita.com/ekzemplaro/items/f462dfc0d81329b39c09&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://rabbit-note.com/2022/09/12/influxdb-2-flux/" target="_blank" rel="noopener"
 &gt;https://rabbit-note.com/2022/09/12/influxdb-2-flux/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Grafana から Rocket.Chat へ通知を行う</title><link>https://blog.ponkotools.com/posts/2022/12/13/grafana-rocketchat/</link><pubDate>Tue, 13 Dec 2022 00:00:00 +0900</pubDate><guid>https://blog.ponkotools.com/posts/2022/12/13/grafana-rocketchat/</guid><description>&lt;p&gt;Grafana 自体は Rocket.Chat に対応していませんが、Webhook を使うことで Rocket.Chat に通知できます。&lt;br&gt;
アラートの基本的な設定方法については以下を参照してください。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://kuttsun.blogspot.com/2022/11/grafana.html" target="_blank" rel="noopener"
 &gt;Grafana でアラートを設定する&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ここでは Rocket.Chat への通知の設定のみ記載します。&lt;/p&gt;
&lt;h2 id="rocketchat-側の設定"&gt;&lt;a href="#rocketchat-%e5%81%b4%e3%81%ae%e8%a8%ad%e5%ae%9a" class="header-anchor"&gt;&lt;/a&gt;Rocket.Chat 側の設定
&lt;/h2&gt;&lt;p&gt;管理画面のメニューから &lt;code&gt;サービス連携&lt;/code&gt; を選択し、&lt;code&gt;Incoming&lt;/code&gt; で新規作成を行います。&lt;br&gt;
スクリプトを有効にし、以下のスクリプトを記入します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;class Script {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; process_incoming_request({ request }) {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; let color = &amp;#34;#00FF00&amp;#34;; // green
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; switch(request.content.state) {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; case &amp;#39;ok&amp;#39;:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; color = &amp;#39;#00FF00&amp;#39;;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; break;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; case &amp;#39;paused&amp;#39;:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; color = &amp;#39;#666666&amp;#39;;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; break;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; case &amp;#39;alerting&amp;#39;:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; color = &amp;#39;#FF0000&amp;#39;;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; break;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; case &amp;#39;pending&amp;#39;:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; color = &amp;#39;#CCCCCC&amp;#39;;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; break;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; case &amp;#39;no_data&amp;#39;:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; color = &amp;#39;#333333&amp;#39;;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; break;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; default:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; color = &amp;#39;#666666&amp;#39;;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; return {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; content:{
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; text: request.content.title,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;#34;attachments&amp;#34;: [{
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;#34;color&amp;#34;: color,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;#34;title&amp;#34;: request.content.title,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;#34;title_link&amp;#34;: request.content.ruleUrl,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;#34;text&amp;#34;: request.content.message,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;#34;image_url&amp;#34;: request.content.imageUrl,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; }]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; };
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;その他、投稿先チャンネルや投稿ユーザーなどの基本的な設定を行います。&lt;br&gt;
Grafana の設定で Webhook URL が必要になるのでコピーしておきます。&lt;/p&gt;
&lt;h2 id="grafana-側の設定"&gt;&lt;a href="#grafana-%e5%81%b4%e3%81%ae%e8%a8%ad%e5%ae%9a" class="header-anchor"&gt;&lt;/a&gt;Grafana 側の設定
&lt;/h2&gt;&lt;p&gt;Grafana のサイドメニューから &lt;code&gt;Alert rules&lt;/code&gt; を選択し、&lt;code&gt;Contact Points&lt;/code&gt; で以下の設定を行います。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;New contact point&lt;/code&gt; をクリック&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Name&lt;/code&gt; にはわかりやすい名前を適当に入力する&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Contact point type&lt;/code&gt; で &lt;code&gt;Webhook&lt;/code&gt; を選択する&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Webhook URL&lt;/code&gt; に上記で取得した URL を入力する&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Rocket.Chat に関する設定は以上で完了です。&lt;/p&gt;
&lt;h2 id="参考-url"&gt;&lt;a href="#%e5%8f%82%e8%80%83-url" class="header-anchor"&gt;&lt;/a&gt;参考 URL
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://gist.github.com/ATofighi/79895715ae0a8f5bdeff058a64012275" target="_blank" rel="noopener"
 &gt;https://gist.github.com/ATofighi/79895715ae0a8f5bdeff058a64012275&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Grafana から Slack へ通知を行う</title><link>https://blog.ponkotools.com/posts/2022/12/07/grafana-slack/</link><pubDate>Wed, 07 Dec 2022 00:00:00 +0900</pubDate><guid>https://blog.ponkotools.com/posts/2022/12/07/grafana-slack/</guid><description>&lt;p&gt;Grafana のアラートで Slack のチャンネルへ通知を行う方法です。&lt;br&gt;
アラートの基本的な設定方法については以下を参照してください。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://kuttsun.blogspot.com/2022/11/grafana.html" target="_blank" rel="noopener"
 &gt;Grafana でアラートを設定する&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ここでは Slack への通知の設定のみ記載します。&lt;/p&gt;
&lt;h2 id="webhook-url-の取得"&gt;&lt;a href="#webhook-url-%e3%81%ae%e5%8f%96%e5%be%97" class="header-anchor"&gt;&lt;/a&gt;Webhook URL の取得
&lt;/h2&gt;&lt;p&gt;まず、通知したい Slack のチャンネルの Webhook URL を取得します。
Webhook URL は、以下からワークスペースとチャンネルを指定して取得できます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://slack.com/services/new/incoming-webhook" target="_blank" rel="noopener"
 &gt;https://slack.com/services/new/incoming-webhook&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="contact-point-の設定"&gt;&lt;a href="#contact-point-%e3%81%ae%e8%a8%ad%e5%ae%9a" class="header-anchor"&gt;&lt;/a&gt;Contact Point の設定
&lt;/h2&gt;&lt;p&gt;Grafana のサイドメニューから &lt;code&gt;Alert rules&lt;/code&gt; を選択し、&lt;code&gt;Contact Points&lt;/code&gt; で以下の設定を行います。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;New contact point&lt;/code&gt; をクリック&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Name&lt;/code&gt; にはわかりやすい名前を適当に入力する&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Contact point type&lt;/code&gt; で &lt;code&gt;Slack&lt;/code&gt; を選択する&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Webhook URL&lt;/code&gt; に上記で取得した URL を入力する&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Slack に関する設定は以上です。&lt;/p&gt;
&lt;h2 id="参考-url"&gt;&lt;a href="#%e5%8f%82%e8%80%83-url" class="header-anchor"&gt;&lt;/a&gt;参考 URL
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://fclout.hateblo.jp/entry/2020/06/20/Grafana%E3%81%8B%E3%82%89Slack%E3%81%B8%E9%80%9A%E7%9F%A5%E3%81%99%E3%82%8B" target="_blank" rel="noopener"
 &gt;https://fclout.hateblo.jp/entry/2020/06/20/Grafana%E3%81%8B%E3%82%89Slack%E3%81%B8%E9%80%9A%E7%9F%A5%E3%81%99%E3%82%8B&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Grafana でアラートを設定する</title><link>https://blog.ponkotools.com/posts/2022/11/30/grafana-alert/</link><pubDate>Wed, 30 Nov 2022 00:00:00 +0900</pubDate><guid>https://blog.ponkotools.com/posts/2022/11/30/grafana-alert/</guid><description>&lt;p&gt;Grafana で任意の値が閾値を超えたら（または下回ったら）アラートを発報するように設定します。&lt;/p&gt;
&lt;p&gt;設定方法は Grafana のバージョンによって大きく異なるようですが、今回使用した Grafana 9.1.0 では、以下の３段階で設定を行うようです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Alert rules&lt;/code&gt;: アラート条件の設定&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Contact points&lt;/code&gt;：通知先の登録&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Notification policy&lt;/code&gt;：アラート条件と通知先の関連付け&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="環境"&gt;&lt;a href="#%e7%92%b0%e5%a2%83" class="header-anchor"&gt;&lt;/a&gt;環境
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Grafana 9.1.0&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="アラート条件の設定"&gt;&lt;a href="#%e3%82%a2%e3%83%a9%e3%83%bc%e3%83%88%e6%9d%a1%e4%bb%b6%e3%81%ae%e8%a8%ad%e5%ae%9a" class="header-anchor"&gt;&lt;/a&gt;アラート条件の設定
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;左のサイドメニューより、&lt;code&gt;Alerting&lt;/code&gt; &amp;gt; &lt;code&gt;Alert rules&lt;/code&gt; をクリックします。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;New alert rule&lt;/code&gt; をクリックします。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;1. Set a query and alert condision&lt;/code&gt; で監視したい値や閾値を設定します。（具体的な設定例は後述します。）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;2.Alert evaluation behavior&lt;/code&gt; でアラート保留状態となる時間を設定します。&lt;br&gt;
デフォルトでは１分毎に評価し、アラートを検出した後５分が経過したら通知が行われるようになっています。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;3. Add details for your alert&lt;/code&gt; でこのアラートの名前や説明を記載します。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;4. Notifications&lt;/code&gt; で通知先のラベルを指定します（後述）。&lt;br&gt;
指定しなかった場合はデフォルトの通知先が使用されます（後述）。&lt;/li&gt;
&lt;li&gt;設定が完了したら画面右上の Save で保存します。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="通知先の登録"&gt;&lt;a href="#%e9%80%9a%e7%9f%a5%e5%85%88%e3%81%ae%e7%99%bb%e9%8c%b2" class="header-anchor"&gt;&lt;/a&gt;通知先の登録
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;左のサイドメニューより、&lt;code&gt;Alerting&lt;/code&gt; &amp;gt; &lt;code&gt;Contact points&lt;/code&gt; をクリックします。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;New contact points&lt;/code&gt; をクリックします。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Name&lt;/code&gt; で適当な名前を付け、&lt;code&gt;Contact point type&lt;/code&gt; で通知方法を選択します（後述）。&lt;/li&gt;
&lt;li&gt;設定が完了したら Save contact point で保存します。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="具体的な設定例"&gt;&lt;a href="#%e5%85%b7%e4%bd%93%e7%9a%84%e3%81%aa%e8%a8%ad%e5%ae%9a%e4%be%8b" class="header-anchor"&gt;&lt;/a&gt;具体的な設定例
&lt;/h3&gt;&lt;p&gt;通知先によって異なるため、別記事にまとめます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://kuttsun.blogspot.com/2022/12/grafana-slack.html" target="_blank" rel="noopener"
 &gt;Grafana から Slack へ通知を行う&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://kuttsun.blogspot.com/2022/12/grafana-rocketchat.html" target="_blank" rel="noopener"
 &gt;Grafana から Rocket.Chat へ通知を行う&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="アラート条件と通知先の関連付け"&gt;&lt;a href="#%e3%82%a2%e3%83%a9%e3%83%bc%e3%83%88%e6%9d%a1%e4%bb%b6%e3%81%a8%e9%80%9a%e7%9f%a5%e5%85%88%e3%81%ae%e9%96%a2%e9%80%a3%e4%bb%98%e3%81%91" class="header-anchor"&gt;&lt;/a&gt;アラート条件と通知先の関連付け
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;左のサイドメニューより、&lt;code&gt;Alerting&lt;/code&gt; &amp;gt; &lt;code&gt;Notification policies&lt;/code&gt; をクリックします。&lt;/li&gt;
&lt;li&gt;デフォルトの通知先の変更や、特定のラベルのアラートに対する通知先を設定します（後述）。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Save policy&lt;/code&gt; をクリックして保存します。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="デフォルトの通知先を指定"&gt;&lt;a href="#%e3%83%87%e3%83%95%e3%82%a9%e3%83%ab%e3%83%88%e3%81%ae%e9%80%9a%e7%9f%a5%e5%85%88%e3%82%92%e6%8c%87%e5%ae%9a" class="header-anchor"&gt;&lt;/a&gt;デフォルトの通知先を指定
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;code&gt;Root policy&lt;/code&gt; の右側にある Edit をクリックします。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Default contact point&lt;/code&gt; でデフォルトの通知先を指定します。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="特定のラベルに対する通知先を指定"&gt;&lt;a href="#%e7%89%b9%e5%ae%9a%e3%81%ae%e3%83%a9%e3%83%99%e3%83%ab%e3%81%ab%e5%af%be%e3%81%99%e3%82%8b%e9%80%9a%e7%9f%a5%e5%85%88%e3%82%92%e6%8c%87%e5%ae%9a" class="header-anchor"&gt;&lt;/a&gt;特定のラベルに対する通知先を指定
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;code&gt;New specific policy&lt;/code&gt; をクリックします。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Add matcher&lt;/code&gt; でラベルの条件を指定し、&lt;code&gt;Contact point&lt;/code&gt; で通知先を指定します。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="参考-url"&gt;&lt;a href="#%e5%8f%82%e8%80%83-url" class="header-anchor"&gt;&lt;/a&gt;参考 URL
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://doc.cloud.global.fujitsu.com/lib/monitoringservice/jp/usersguide/capter02/alerting/alert_rule/" target="_blank" rel="noopener"
 &gt;https://doc.cloud.global.fujitsu.com/lib/monitoringservice/jp/usersguide/capter02/alerting/alert_rule/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>TIG Stack を動かしてみる</title><link>https://blog.ponkotools.com/posts/2022/09/16/tigstack/</link><pubDate>Fri, 16 Sep 2022 00:00:00 +0900</pubDate><guid>https://blog.ponkotools.com/posts/2022/09/16/tigstack/</guid><description>&lt;p&gt;サーバーリソースのメトリクスやログの収集・保存・可視化・アラートを行うためにTIG Stack (Telegraf, InfluxDB, Grafana) を使って一通り設定してみました。&lt;/p&gt;
&lt;p&gt;一応、以前にも記事は書いていますが、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://kuttsun.blogspot.com/2021/12/telegraf-influxdb-garafana.html" target="_blank" rel="noopener"
 &gt;https://kuttsun.blogspot.com/2021/12/telegraf-influxdb-garafana.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ちょっと情報が古くなっていたので、アップデートし、さらに出来る限り設定を自動化しました。&lt;/p&gt;
&lt;h2 id="予備知識"&gt;&lt;a href="#%e4%ba%88%e5%82%99%e7%9f%a5%e8%ad%98" class="header-anchor"&gt;&lt;/a&gt;予備知識
&lt;/h2&gt;&lt;p&gt;時系列とは何ぞや？ TICK スタックとは何ぞや？みたいな話が以下に載ってました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://www.influxdata.com/blog/influxdb-the-platform-for-time-series-data/" target="_blank" rel="noopener"
 &gt;https://www.influxdata.com/blog/influxdb-the-platform-for-time-series-data/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.influxdata.com/blog/introduction-to-influxdatas-influxdb-and-tick-stack/" target="_blank" rel="noopener"
 &gt;https://www.influxdata.com/blog/introduction-to-influxdatas-influxdb-and-tick-stack/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://medium.com/yavar/influxdb-tick-stack-part1-28bd04d10a18" target="_blank" rel="noopener"
 &gt;https://medium.com/yavar/influxdb-tick-stack-part1-28bd04d10a18&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.influxdata.com/integration/syslog/" target="_blank" rel="noopener"
 &gt;https://www.influxdata.com/integration/syslog/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="環境"&gt;&lt;a href="#%e7%92%b0%e5%a2%83" class="header-anchor"&gt;&lt;/a&gt;環境
&lt;/h2&gt;&lt;p&gt;TIG Stack は全て Docker で動かします。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ubuntu 20.04&lt;/li&gt;
&lt;li&gt;Docker 20.10.12&lt;/li&gt;
&lt;li&gt;Telegraf 1.23.0&lt;/li&gt;
&lt;li&gt;InfluxDB 1.8.10&lt;/li&gt;
&lt;li&gt;Grafana 9.1.0&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="各ツールの役割"&gt;&lt;a href="#%e5%90%84%e3%83%84%e3%83%bc%e3%83%ab%e3%81%ae%e5%bd%b9%e5%89%b2" class="header-anchor"&gt;&lt;/a&gt;各ツールの役割
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;ツール&lt;/th&gt;
 &lt;th style="text-align: left"&gt;役割&lt;/th&gt;
 &lt;th&gt;Docker イメージ&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Telegraf&lt;/td&gt;
 &lt;td style="text-align: left"&gt;データの収集&lt;/td&gt;
 &lt;td&gt;&lt;a class="link" href="https://hub.docker.com/_/telegraf" target="_blank" rel="noopener"
 &gt;https://hub.docker.com/_/telegraf&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;InfluxDB&lt;/td&gt;
 &lt;td style="text-align: left"&gt;データの保存（時系列データベース）&lt;/td&gt;
 &lt;td&gt;&lt;a class="link" href="https://hub.docker.com/_/influxdb" target="_blank" rel="noopener"
 &gt;https://hub.docker.com/_/influxdb&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Grafana&lt;/td&gt;
 &lt;td style="text-align: left"&gt;データの可視化（UI）&lt;/td&gt;
 &lt;td&gt;&lt;a class="link" href="https://hub.docker.com/r/grafana/grafana/" target="_blank" rel="noopener"
 &gt;https://hub.docker.com/r/grafana/grafana/&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;上記の Docker hub のページに各ツールの起動方法や設定方法などが一通り載っているので、それを参考に設定していきます。&lt;/p&gt;
&lt;h2 id="telegraf-の設定"&gt;&lt;a href="#telegraf-%e3%81%ae%e8%a8%ad%e5%ae%9a" class="header-anchor"&gt;&lt;/a&gt;Telegraf の設定
&lt;/h2&gt;&lt;p&gt;まずは設定ファイルの雛型（デフォルトの設定ファイル）を取得します。&lt;br&gt;
Telegraf の Docker コンテナを起動し、コンテナ内から設定ファイルをホストにコピーしてきます。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ docker run --rm telegraf telegraf config &amp;gt; telegraf.conf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;この &lt;code&gt;telegraf.conf&lt;/code&gt; を取得したいデータに応じて編集します。&lt;br&gt;
これについてはいろいろあるので、別記事にまとめました。&lt;/p&gt;
&lt;h2 id="docker-composeyml"&gt;&lt;a href="#docker-composeyml" class="header-anchor"&gt;&lt;/a&gt;docker-compose.yml
&lt;/h2&gt;&lt;p&gt;設定ファイルが必要なのは Telegraf だけなので、ここで TIG Stack を起動する &lt;code&gt;docker-compose.yml&lt;/code&gt; のサンプルを載せます。&lt;br&gt;
前提として、&lt;code&gt;tigstack&lt;/code&gt; というネットワークを共通に使用しているので、以下のコマンドであらかじめ作成しておく必要があります。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ docker network create tigstack
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;以下、&lt;code&gt;docker-compose.yml&lt;/code&gt; のサンプルです。解説などは後述します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yml" data-lang="yml"&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="telegraf-について"&gt;&lt;a href="#telegraf-%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6" class="header-anchor"&gt;&lt;/a&gt;Telegraf について
&lt;/h3&gt;&lt;h4 id="gpu-の情報取得について"&gt;&lt;a href="#gpu-%e3%81%ae%e6%83%85%e5%a0%b1%e5%8f%96%e5%be%97%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6" class="header-anchor"&gt;&lt;/a&gt;GPU の情報取得について
&lt;/h4&gt;&lt;p&gt;NVIDIA の GPU の情報を取得するために以下を指定しています。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yml" data-lang="yml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;environment&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;NVIDIA_VISIBLE_DEVICES=all&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;NVIDIA_DRIVER_CAPABILITIES=all&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;deploy&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;resources&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;reservations&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;devices&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;capabilities&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="l"&gt;gpu]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;volumes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;/usr/bin/nvidia-smi:/usr/bin/nvidia-smi:ro&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;これについては以下の記事を参照してください。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;/usr/bin/nvidia-smi&lt;/code&gt; のパスは環境によっては異なるかもしれません。&lt;/p&gt;
&lt;h4 id="docker-の情報取得について"&gt;&lt;a href="#docker-%e3%81%ae%e6%83%85%e5%a0%b1%e5%8f%96%e5%be%97%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6" class="header-anchor"&gt;&lt;/a&gt;Docker の情報取得について
&lt;/h4&gt;&lt;p&gt;Docker の情報を取得するためには &lt;code&gt;/var/run/docker.sock&lt;/code&gt; をマウントする必要があります。&lt;br&gt;
さらに Telegraf の実行ユーザーが docker.sock にアクセスできるように、&lt;code&gt;user&lt;/code&gt; を設定する必要があります。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yml" data-lang="yml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;volumes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;/var/run/docker.sock:/var/run/docker.sock:ro&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;user&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;${TELEGRAF_UID_GID:?}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;これについては以下の記事を参照してください。&lt;/p&gt;
&lt;h4 id="ホスト名の指定"&gt;&lt;a href="#%e3%83%9b%e3%82%b9%e3%83%88%e5%90%8d%e3%81%ae%e6%8c%87%e5%ae%9a" class="header-anchor"&gt;&lt;/a&gt;ホスト名の指定
&lt;/h4&gt;&lt;p&gt;Telegraf がメトリクスを InfluxDB に記録する際、ホスト名も記録されますが、Docker コンテナのホスト名はデフォルトだとランダムな値となり、このままでよくわからないので、設定します。&lt;br&gt;
ここではホストマシンと同じホスト名を指定しました。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;hostname: ${HOSTNAME:?}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;これについては以下の記事を参照してください。&lt;/p&gt;
&lt;h3 id="influxdb-について"&gt;&lt;a href="#influxdb-%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6" class="header-anchor"&gt;&lt;/a&gt;InfluxDB について
&lt;/h3&gt;&lt;p&gt;初回起動時にデフォルトのリテンションポリシーを設定するために以下を指定しています。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yml" data-lang="yml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;environment&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;DOCKER_INFLUXDB_INIT_MODE&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;setup&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;DOCKER_INFLUXDB_INIT_RETENTION&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;10d&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>リバースプロキシの背後で Grafana を動かす</title><link>https://blog.ponkotools.com/posts/2022/06/24/grafana/</link><pubDate>Fri, 24 Jun 2022 00:00:00 +0900</pubDate><guid>https://blog.ponkotools.com/posts/2022/06/24/grafana/</guid><description>&lt;p&gt;サーバー側だけでなく Grafana 側の設定も行う必要があったのでメモです。&lt;/p&gt;
&lt;p&gt;一応公式ドキュメントに方法が載っています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://grafana.com/tutorials/run-grafana-behind-a-proxy/" target="_blank" rel="noopener"
 &gt;https://grafana.com/tutorials/run-grafana-behind-a-proxy/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;今回はサブディレクトリで設定したかったのと、Grafana を docker-compose で動かしていたので、&lt;code&gt;docker-compose.yml&lt;/code&gt; の環境変数で以下のように設定しました。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yml" data-lang="yml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;environment&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;GF_SERVER_ROOT_URL=%(protocol)s://%(domain)s:%(http_port)s/grafana/&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;GF_SERVER_SERVE_FROM_SUB_PATH=true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;サーバー側の設定は普通にリバースプロキシの設定を行うだけなので省略します。&lt;/p&gt;
&lt;h2 id="参考-url"&gt;&lt;a href="#%e5%8f%82%e8%80%83-url" class="header-anchor"&gt;&lt;/a&gt;参考 URL
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://grafana.com/tutorials/run-grafana-behind-a-proxy/" target="_blank" rel="noopener"
 &gt;https://grafana.com/tutorials/run-grafana-behind-a-proxy/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://qiita.com/ryotaro76/items/22fa5e877eaab8b567e1" target="_blank" rel="noopener"
 &gt;https://qiita.com/ryotaro76/items/22fa5e877eaab8b567e1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Telegraf で Docker の情報を 取得して Grafana で可視化する</title><link>https://blog.ponkotools.com/posts/2021/12/27/telegraf-grafana/</link><pubDate>Mon, 27 Dec 2021 00:00:00 +0900</pubDate><guid>https://blog.ponkotools.com/posts/2021/12/27/telegraf-grafana/</guid><description>&lt;p&gt;サーバーリソースの可視化は以前やったので、今度は Docker の情報を可視化してみました。&lt;/p&gt;
&lt;p&gt;Grafana のダッシュボードは以下を使いました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://grafana.com/grafana/dashboards/10585" target="_blank" rel="noopener"
 &gt;https://grafana.com/grafana/dashboards/10585&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これに書いてあることをやっただけですが・・・。&lt;/p&gt;
&lt;h2 id="telegrafconf-の設定"&gt;&lt;a href="#telegrafconf-%e3%81%ae%e8%a8%ad%e5%ae%9a" class="header-anchor"&gt;&lt;/a&gt;telegraf.conf の設定
&lt;/h2&gt;&lt;p&gt;以下を追加します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[[&lt;/span&gt;&lt;span class="n"&gt;inputs&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;docker&lt;/span&gt;&lt;span class="p"&gt;]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;endpoint&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;unix:///var/run/docker.sock&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;gather_services&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;container_name_include&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;container_name_exclude&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;timeout&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;5s&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;docker_label_include&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;docker_label_exclude&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;perdevice&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;total&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="docker-composeyaml-の設定"&gt;&lt;a href="#docker-composeyaml-%e3%81%ae%e8%a8%ad%e5%ae%9a" class="header-anchor"&gt;&lt;/a&gt;docker-compose.yaml の設定
&lt;/h2&gt;&lt;p&gt;Telegraf の volume に &lt;code&gt;/var/run/docker.sock&lt;/code&gt; を追加します。&lt;br&gt;
また、&lt;code&gt;/var/run/docker.sock&lt;/code&gt; にアクセスするためには Telegraf の実行ユーザーを Docker と同じにする必要があります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://www.influxdata.com/blog/docker-run-telegraf-as-non-root/" target="_blank" rel="noopener"
 &gt;https://www.influxdata.com/blog/docker-run-telegraf-as-non-root/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;volumes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="k"&gt;var&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;run&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;docker&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sock&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="k"&gt;var&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;run&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;docker&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sock&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;users&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;133&lt;/span&gt; &lt;span class="c1"&gt;# UID:GID&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;さらに、情報を習得したい全サービスに以下を追加してグループ化します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;labels:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - &amp;#34;docker.group=&amp;lt;some_name&amp;gt;&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ラベルの名前は何でもいいようです。&lt;br&gt;
ラベルを設定しなかったサービスの情報は取得されませんでした。&lt;/p&gt;
&lt;h2 id="grafana-の設定"&gt;&lt;a href="#grafana-%e3%81%ae%e8%a8%ad%e5%ae%9a" class="header-anchor"&gt;&lt;/a&gt;Grafana の設定
&lt;/h2&gt;&lt;p&gt;以下から JSON ファイルをダウンロードし、Grafana でインポートします。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://grafana.com/grafana/dashboards/10585" target="_blank" rel="noopener"
 &gt;https://grafana.com/grafana/dashboards/10585&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;以上で以下のようなダッシュボードが表示されます。&lt;/p&gt;
&lt;p&gt;&lt;img class="gallery-image" data-flex-basis="515px" data-flex-grow="214" height="933" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog.ponkotools.com/posts/2021/12/27/telegraf-grafana/01.webp" srcset="https://blog.ponkotools.com/posts/2021/12/27/telegraf-grafana/01_hu_3ea807a2ee27bfa9.webp 800w, https://blog.ponkotools.com/posts/2021/12/27/telegraf-grafana/01_hu_4a0caec175c09e8c.webp 1600w, https://blog.ponkotools.com/posts/2021/12/27/telegraf-grafana/01.webp 2005w" width="2005"&gt;&lt;/p&gt;
&lt;h2 id="参考-url"&gt;&lt;a href="#%e5%8f%82%e8%80%83-url" class="header-anchor"&gt;&lt;/a&gt;参考 URL
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://grafana.com/grafana/dashboards/10585" target="_blank" rel="noopener"
 &gt;https://grafana.com/grafana/dashboards/10585&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.influxdata.com/blog/docker-run-telegraf-as-non-root/" target="_blank" rel="noopener"
 &gt;https://www.influxdata.com/blog/docker-run-telegraf-as-non-root/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Telegraf で GPU の情報を取得し、Grafana で可視化する</title><link>https://blog.ponkotools.com/posts/2021/12/26/telegraf-grafana/</link><pubDate>Sun, 26 Dec 2021 00:00:00 +0900</pubDate><guid>https://blog.ponkotools.com/posts/2021/12/26/telegraf-grafana/</guid><description>&lt;p&gt;Telegraf, InfluxDB, Grafana を使って GPU の情報を閲覧できるようにしました。&lt;/p&gt;
&lt;p&gt;以前、Telegraf, InfluxDB, Grafana を使ってサーバーリソースの情報を閲覧できるようにしました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://kuttsun.blogspot.com/2021/12/telegraf-influxdb-garafana.html" target="_blank" rel="noopener"
 &gt;https://kuttsun.blogspot.com/2021/12/telegraf-influxdb-garafana.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これを前提としたうえで、今回 GPU の情報も見れるようにしました。&lt;/p&gt;
&lt;p&gt;試したグラフィックボードは NVIDIA GeForce RTX 3080 です。&lt;br&gt;
グラフィックドライバーのインストールなどは完了している前提です。&lt;/p&gt;
&lt;h2 id="概要"&gt;&lt;a href="#%e6%a6%82%e8%a6%81" class="header-anchor"&gt;&lt;/a&gt;概要
&lt;/h2&gt;&lt;p&gt;Telegraf の nvidia_smi プラグインを使えば GPU の情報を取得できるようです。&lt;br&gt;
nvidia_smi のプラグインについては以下に説明があります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/influxdata/telegraf/blob/master/plugins/inputs/nvidia_smi/README.md" target="_blank" rel="noopener"
 &gt;https://github.com/influxdata/telegraf/blob/master/plugins/inputs/nvidia_smi/README.md&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;上記の記事に書いてありますが、Docker で動作させている Telegraf で GPU の情報を取得するには、以下の２つの方法があるようです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;nvidia/cuda&lt;/code&gt; の Docker イメージをベースに Telegraf をインストールしたカスタムイメージを作成する&lt;/li&gt;
&lt;li&gt;Volume のマウントバインディングを使用して nvidia-smi のバイナリを Docker コンテナに注入する&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;今回は後者でいきます。&lt;/p&gt;
&lt;h2 id="telegraf-の設定"&gt;&lt;a href="#telegraf-%e3%81%ae%e8%a8%ad%e5%ae%9a" class="header-anchor"&gt;&lt;/a&gt;Telegraf の設定
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;telegraf.conf&lt;/code&gt; に以下を追加しました。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[[inputs.nvidia_smi]]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; #bin_path = &amp;#34;/usr/bin/nvidia-smi&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;inputs.nvidia_smi&lt;/code&gt; を追加するだけでプラグインが有効になるようです。&lt;br&gt;
&lt;code&gt;bin_path&lt;/code&gt; は &lt;code&gt;nvidia-smi&lt;/code&gt; のある場所です。&lt;br&gt;
以下のコマンドで調べられます。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ which nvidia-smi
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/usr/bin/nvidia-smi
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Linux では通常 &lt;code&gt;/usr/bin/nvidia-smi&lt;/code&gt; にあるそうで、その場合は指定しなくてもよいそうです。&lt;/p&gt;
&lt;h2 id="docker-compose-の設定"&gt;&lt;a href="#docker-compose-%e3%81%ae%e8%a8%ad%e5%ae%9a" class="header-anchor"&gt;&lt;/a&gt;docker-compose の設定
&lt;/h2&gt;&lt;p&gt;Telegraf を動作させている Docker コンテナから nvidia-smi と GPU にアクセスできるように設定します。&lt;br&gt;
例えば、以下のような感じです。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;version: &amp;#39;3.5&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;services:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; telegraf:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; container_name: telegraf
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; image: telegraf
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; environment:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - NVIDIA_VISIBLE_DEVICES=all
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - NVIDIA_DRIVER_CAPABILITIES=all
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; deploy:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; resources:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; reservations:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; devices:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - capabilities: [gpu]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; volumes:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - ./telegraf.conf:/etc/telegraf/telegraf.conf:ro
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - /usr/bin/nvidia-smi:/usr/bin/nvidia-smi:ro
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ホストの &lt;code&gt;/usr/bin/nvidia-smi&lt;/code&gt; をコンテナにマウントします。&lt;br&gt;
Docker コンテナでの GPU の使用については以下の記事にも書いているので、参照してください。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://kuttsun.blogspot.com/2021/11/docker-compose-gpu.html" target="_blank" rel="noopener"
 &gt;https://kuttsun.blogspot.com/2021/11/docker-compose-gpu.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="grafana-の設定"&gt;&lt;a href="#grafana-%e3%81%ae%e8%a8%ad%e5%ae%9a" class="header-anchor"&gt;&lt;/a&gt;Grafana の設定
&lt;/h2&gt;&lt;p&gt;Docker コンテナを起動したら、Grafana で以下のダッシュボードのテンプレートをインストールします。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://grafana.com/grafana/dashboards/12225" target="_blank" rel="noopener"
 &gt;https://grafana.com/grafana/dashboards/12225&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これで閲覧できるようになると思ったのですが、&lt;code&gt;Hostname&lt;/code&gt; に &lt;code&gt;None&lt;/code&gt; しか表示されず、グラフに何も表示されない状態でした。&lt;br&gt;
どうもこのテンプレートが Windows を前提としているようですので、ダッシュボードの設定をちょっと修正しました。&lt;/p&gt;
&lt;p&gt;ダッシュボードの設定画面を開き Variables を選択します。&lt;br&gt;
&lt;code&gt;hostname&lt;/code&gt; の定義を以下のように変更します。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;変更前&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SHOW TAG VALUES FROM &amp;#34;win_system&amp;#34; WITH KEY = &amp;#34;host&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;変更後&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SHOW TAG VALUES FROM system WITH KEY=host
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;これで以下のようにグラフが表示されるようになりました。&lt;/p&gt;
&lt;p&gt;&lt;img class="gallery-image" data-flex-basis="394px" data-flex-grow="164" height="427" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog.ponkotools.com/posts/2021/12/26/telegraf-grafana/01.webp" width="701"&gt;&lt;/p&gt;
&lt;p&gt;他に &lt;code&gt;CPU Usage&lt;/code&gt; と &lt;code&gt;Memory Free&lt;/code&gt; のメーター表示も Windows 前提となっているようなので、必要なら修正してください。&lt;br&gt;
私は CPU やメモリなどは他のダッシュボードで閲覧しており、ここでは GPU の情報だけで十分だったので、そこまで修正しませんでした。&lt;/p&gt;
&lt;h2 id="参考-url"&gt;&lt;a href="#%e5%8f%82%e8%80%83-url" class="header-anchor"&gt;&lt;/a&gt;参考 URL
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/influxdata/telegraf/blob/master/plugins/inputs/nvidia_smi/README.md" target="_blank" rel="noopener"
 &gt;https://github.com/influxdata/telegraf/blob/master/plugins/inputs/nvidia_smi/README.md&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://cristianpb.github.io/blog/grafana-dashboard" target="_blank" rel="noopener"
 &gt;https://cristianpb.github.io/blog/grafana-dashboard&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Syslog を Telegraf に送り、Grafana で閲覧できるようにする</title><link>https://blog.ponkotools.com/posts/2021/12/20/syslog-telegraf-grafana/</link><pubDate>Mon, 20 Dec 2021 00:00:00 +0900</pubDate><guid>https://blog.ponkotools.com/posts/2021/12/20/syslog-telegraf-grafana/</guid><description>&lt;p&gt;以下に Syslog 用のテンプレートと解説があるので簡単にできるかと思ったんですが、結構苦労しました・・・。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://grafana.com/grafana/dashboards/12433" target="_blank" rel="noopener"
 &gt;https://grafana.com/grafana/dashboards/12433&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="概要"&gt;&lt;a href="#%e6%a6%82%e8%a6%81" class="header-anchor"&gt;&lt;/a&gt;概要
&lt;/h2&gt;&lt;p&gt;ホストの Syslog から Telegraf にログを送り、Telegraf が InfluxDB に保存し、Grafana が InfluxDB から読み込んで可視化します。&lt;/p&gt;
&lt;p&gt;Telegraf、InfluxDB、Grafana は全て docker-compose で動かしています。&lt;br&gt;
これについては以下の記事で書いているので省略します。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://kuttsun.blogspot.com/2021/12/telegraf-influxdb-garafana.html" target="_blank" rel="noopener"
 &gt;https://kuttsun.blogspot.com/2021/12/telegraf-influxdb-garafana.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;上記記事からの変更点を以下に記述します。&lt;/p&gt;
&lt;h2 id="rsyslog-の設定"&gt;&lt;a href="#rsyslog-%e3%81%ae%e8%a8%ad%e5%ae%9a" class="header-anchor"&gt;&lt;/a&gt;rsyslog の設定
&lt;/h2&gt;&lt;p&gt;まずは Syslog から Telegraf にログを送信するように設定します。&lt;br&gt;
&lt;code&gt;/etc/rsyslog.conf&lt;/code&gt; を編集します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ sudo gedit /etc/rsyslog.conf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;以下の設定を追加します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;WorkDirectory&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="k"&gt;var&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;spool&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;rsyslog&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ActionQueueType&lt;/span&gt; &lt;span class="n"&gt;LinkedList&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ActionQueueFileName&lt;/span&gt; &lt;span class="n"&gt;srvrfwd&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ActionResumeRetryCount&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ActionQueueSaveOnShutdown&lt;/span&gt; &lt;span class="n"&gt;on&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ModLoad&lt;/span&gt; &lt;span class="n"&gt;imudp&lt;/span&gt; &lt;span class="c1"&gt;#loads the udp module &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;UDPServerAddress&lt;/span&gt; &lt;span class="n"&gt;localhost&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;UDPServerRun&lt;/span&gt; &lt;span class="mi"&gt;514&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;*.*&lt;/span&gt; &lt;span class="err"&gt;@@&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;o&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="mf"&gt;127.0&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;0.1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;6514&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;RSYSLOG_SyslogProtocol23Format&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;rsyslog を再起動します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ sudo systemctl restart rsyslog
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="telegraf-の設定"&gt;&lt;a href="#telegraf-%e3%81%ae%e8%a8%ad%e5%ae%9a" class="header-anchor"&gt;&lt;/a&gt;Telegraf の設定
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;telegraf.conf&lt;/code&gt; に以下の設定を追加します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[[inputs.syslog]]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; server = &amp;#34;tcp://0.0.0.0:6514&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Syslog から TCP ポート 6514 で受信するように設定していますが、docker で動かしているので &lt;code&gt;localhost&lt;/code&gt; を指定すると上手く動作しません。&lt;br&gt;
とりあえず &lt;code&gt;0.0.0.0&lt;/code&gt; を指定しましたが、もしかしたら &lt;code&gt;host.docker.internal&lt;/code&gt; とかでもいけるのかもしれません（未確認）。&lt;/p&gt;
&lt;h2 id="docker-composeyaml-の変更"&gt;&lt;a href="#docker-composeyaml-%e3%81%ae%e5%a4%89%e6%9b%b4" class="header-anchor"&gt;&lt;/a&gt;docker-compose.yaml の変更
&lt;/h2&gt;&lt;p&gt;ポート 6514 を使用できるようにします。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;services:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; telegraf:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; container_name: telegraf
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; image: telegraf
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ports:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - 6514:6514
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;docker コンテナを再起動します。&lt;/p&gt;
&lt;h2 id="grafana-の設定"&gt;&lt;a href="#grafana-%e3%81%ae%e8%a8%ad%e5%ae%9a" class="header-anchor"&gt;&lt;/a&gt;Grafana の設定
&lt;/h2&gt;&lt;p&gt;以下のページからダッシュボードの JSON ファイルをダウンロードしてインポートするだけです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://grafana.com/grafana/dashboards/12433" target="_blank" rel="noopener"
 &gt;https://grafana.com/grafana/dashboards/12433&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これで以下のようなダッシュボードが完成します。&lt;/p&gt;
&lt;p&gt;&lt;img class="gallery-image" data-flex-basis="338px" data-flex-grow="140" height="320" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog.ponkotools.com/posts/2021/12/20/syslog-telegraf-grafana/01.webp" width="451"&gt;&lt;/p&gt;
&lt;h2 id="参考-url"&gt;&lt;a href="#%e5%8f%82%e8%80%83-url" class="header-anchor"&gt;&lt;/a&gt;参考 URL
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.htkyama.org/rsyslog_grafana" target="_blank" rel="noopener"
 &gt;https://blog.htkyama.org/rsyslog_grafana&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://grafana.com/grafana/dashboards/12433" target="_blank" rel="noopener"
 &gt;https://grafana.com/grafana/dashboards/12433&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://qiita.com/haccht/items/82e8694c57202135ae5e" target="_blank" rel="noopener"
 &gt;https://qiita.com/haccht/items/82e8694c57202135ae5e&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Telegraf + InfluxDB + Garafana でサーバーリソースを可視化する</title><link>https://blog.ponkotools.com/posts/2021/12/18/telegraf-influxdb-grafana/</link><pubDate>Sat, 18 Dec 2021 00:00:00 +0900</pubDate><guid>https://blog.ponkotools.com/posts/2021/12/18/telegraf-influxdb-grafana/</guid><description>&lt;p&gt;CPUやメモリなどのリソースを収集して閲覧したいなと思い、ググってみるとこの組み合わせが良さそうでした。&lt;br&gt;
Telegraf でデータを取得して InfluxDB に書き込み、Grafana で InfluxDB のデータを読み込んで可視化します。&lt;/p&gt;
&lt;p&gt;個人的に InfluxDB と Grafana は使ったことありますが、Telegraf は今回初めて使いました。&lt;/p&gt;
&lt;p&gt;尚、この３つの頭文字を取って TIG Stack と呼んでいるページもいくつか見かけました。&lt;/p&gt;
&lt;h2 id="環境"&gt;&lt;a href="#%e7%92%b0%e5%a2%83" class="header-anchor"&gt;&lt;/a&gt;環境
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Ubuntu 20.04&lt;/li&gt;
&lt;li&gt;Docker 20.10.7&lt;/li&gt;
&lt;li&gt;Telegraf 1.20.4&lt;/li&gt;
&lt;li&gt;InfluxDB 1.8.6&lt;/li&gt;
&lt;li&gt;Grafana 7.5.7&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Telegraf と Grafana は現時点の最新のバージョンですが、InfluxDB は 2.0 系ではなく 1.8.6 を使いました。&lt;br&gt;
InfluxDB 2.0 を使ったことがないのと、参考にした Telegraf の設定ファイルのサンプルが InfluxDB 2.0 ではないものばかりだったからです。&lt;/p&gt;
&lt;p&gt;また、Telegraf, InfluxDB, Grafana は全て Docker (docker-compose) を使って動かします。&lt;/p&gt;
&lt;h2 id="docker-composeyaml-のサンプル"&gt;&lt;a href="#docker-composeyaml-%e3%81%ae%e3%82%b5%e3%83%b3%e3%83%97%e3%83%ab" class="header-anchor"&gt;&lt;/a&gt;docker-compose.yaml のサンプル
&lt;/h2&gt;&lt;p&gt;以下のような &lt;code&gt;docker-compose.yaml&lt;/code&gt; を作成しました。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;version&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;3.1&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;services&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;telegraf&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;container_name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;telegraf&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;telegraf&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;restart&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;always&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;volumes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="o"&gt;./&lt;/span&gt;&lt;span class="n"&gt;telegraf&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;conf&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;etc&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;telegraf&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;telegraf&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;conf&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;ro&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;depends_on&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;influxdb&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;links&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;influxdb&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;networks&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;common&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;influxdb&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;container_name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;influxdb&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;influxdb&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mf"&gt;1.8&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;restart&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;always&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;ports&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;8086&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;8086&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;volumes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;influxdb&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="k"&gt;var&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;lib&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;influxdb&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;networks&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;common&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;grafana&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;container_name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;grafana&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;grafana&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;grafana&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;restart&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;always&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;links&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;influxdb&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;ports&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;3000&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;3000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;volumes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;grafana&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="k"&gt;var&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;lib&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;grafana&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;networks&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;common&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;networks&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;common&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;external&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="bp"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;volumes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;influxdb&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;grafana&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;common&lt;/code&gt; というネットワークを共通で使っているので、あらかじめ &lt;code&gt;docker network create&lt;/code&gt; で作成しておく必要があります。&lt;/p&gt;
&lt;h2 id="telegraf-の設定"&gt;&lt;a href="#telegraf-%e3%81%ae%e8%a8%ad%e5%ae%9a" class="header-anchor"&gt;&lt;/a&gt;Telegraf の設定
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;telegraf.conf&lt;/code&gt; を作成します。&lt;/p&gt;
&lt;p&gt;以下のページにちょうど良いのがあるのでこれをそのまま使いました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://grafana.com/grafana/dashboards/928" target="_blank" rel="noopener"
 &gt;https://grafana.com/grafana/dashboards/928&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;後述しますが、Grafana のダッシュボードのテンプレートもこれを使いました。&lt;br&gt;
上記の設定をコピーしたら最低限以下の設定だけ変更します。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;[agent]&lt;/code&gt; &amp;gt; &lt;code&gt;hostname&lt;/code&gt; にマシン名を設定
&lt;ul&gt;
&lt;li&gt;設定しないと自動で設定されますが、起動の度に変わるので設定しておいたほうがよいと思います。&lt;/li&gt;
&lt;li&gt;環境変数が使えるので、&lt;code&gt;hostname = &amp;quot;$HOSTNAME&amp;quot;&lt;/code&gt; のようにも書けます。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;[[outputs.influxdb]]&lt;/code&gt; &amp;gt; &lt;code&gt;urls&lt;/code&gt; を InfluxDB の URL に変更
&lt;ul&gt;
&lt;li&gt;上記の &lt;code&gt;docker-compose.yaml&lt;/code&gt; の場合、URL は &lt;code&gt;http://influxdb.common:8086&lt;/code&gt; のようにコンテナ名とネットワーク名を使っても指定できます。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;他は必要に応じて設定します。&lt;/p&gt;
&lt;h2 id="起動"&gt;&lt;a href="#%e8%b5%b7%e5%8b%95" class="header-anchor"&gt;&lt;/a&gt;起動
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ docker-compose up
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;デーモン化したい場合は &lt;code&gt;-d&lt;/code&gt; を指定します。&lt;br&gt;
起動すると InfluxDB に Telegraf 用のデータベースを自動で作成してくれます。&lt;br&gt;
（データベース名は &lt;code&gt;telegraf.conf&lt;/code&gt; で設定できます。）&lt;/p&gt;
&lt;h2 id="grafana-の設定"&gt;&lt;a href="#grafana-%e3%81%ae%e8%a8%ad%e5%ae%9a" class="header-anchor"&gt;&lt;/a&gt;Grafana の設定
&lt;/h2&gt;&lt;p&gt;Grafana にアクセスし、ログインします。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;http://localhost:3000&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;初期 ID とパスワードはどちらも &lt;code&gt;admin&lt;/code&gt; です。&lt;/p&gt;
&lt;h3 id="db-の登録"&gt;&lt;a href="#db-%e3%81%ae%e7%99%bb%e9%8c%b2" class="header-anchor"&gt;&lt;/a&gt;DB の登録
&lt;/h3&gt;&lt;p&gt;Configuration &amp;gt; Data Sources &amp;gt; Add data source &amp;gt; InfluxDB を選択します。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;URL&lt;/code&gt; と &lt;code&gt;Database&lt;/code&gt; の２つを設定します。&lt;br&gt;
今回の例では以下のように設定します。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;URL&lt;/code&gt; に &lt;code&gt;http://influxdb.common:8086&lt;/code&gt; を設定&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Database&lt;/code&gt; に &lt;code&gt;telegraf_metrics&lt;/code&gt; を設定&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ダッシュボードの作成"&gt;&lt;a href="#%e3%83%80%e3%83%83%e3%82%b7%e3%83%a5%e3%83%9c%e3%83%bc%e3%83%89%e3%81%ae%e4%bd%9c%e6%88%90" class="header-anchor"&gt;&lt;/a&gt;ダッシュボードの作成
&lt;/h3&gt;&lt;p&gt;Telegraf 用のテンプレートがあるので、それをインポートするのが楽です。&lt;br&gt;
テンプレートは以下のページで探せます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://grafana.com/grafana/dashboards/" target="_blank" rel="noopener"
 &gt;https://grafana.com/grafana/dashboards/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;今回は以下のテンプレートを使いました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://grafana.com/grafana/dashboards/928" target="_blank" rel="noopener"
 &gt;https://grafana.com/grafana/dashboards/928&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;上記から JSON ファイルをダウンロードし、Grafana の左メニューの + ボタンからインポートします。&lt;br&gt;
インポートの際、データベースは &lt;code&gt;telegraf_metrics&lt;/code&gt; を選択します。&lt;/p&gt;
&lt;p&gt;ダッシュボードにアクセスすると以下のような画面が表示されます。&lt;/p&gt;
&lt;p&gt;&lt;img class="gallery-image" data-flex-basis="377px" data-flex-grow="157" height="1275" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog.ponkotools.com/posts/2021/12/18/telegraf-influxdb-grafana/01.webp" srcset="https://blog.ponkotools.com/posts/2021/12/18/telegraf-influxdb-grafana/01_hu_1c1df1dba5082846.webp 800w, https://blog.ponkotools.com/posts/2021/12/18/telegraf-influxdb-grafana/01_hu_a462fb49fe1c77e3.webp 1600w, https://blog.ponkotools.com/posts/2021/12/18/telegraf-influxdb-grafana/01.webp 2003w" width="2003"&gt;&lt;/p&gt;
&lt;p&gt;かっこいい画面が簡単に作成できました。&lt;/p&gt;
&lt;h2 id="リテンションポリシーの設定"&gt;&lt;a href="#%e3%83%aa%e3%83%86%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%b3%e3%83%9d%e3%83%aa%e3%82%b7%e3%83%bc%e3%81%ae%e8%a8%ad%e5%ae%9a" class="header-anchor"&gt;&lt;/a&gt;リテンションポリシーの設定
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;telegraf.conf&lt;/code&gt; の [[outputs.influxdb]] &amp;gt; retention_policy でリテンションポリシーを指定できますが、ここが未指定だとデフォルトの &lt;code&gt;autogen&lt;/code&gt; が使用され、データが無期限に保存されることになるので指定します。&lt;br&gt;
例えば、リテンションポリシー名に &lt;code&gt;hoge&lt;/code&gt; と指定します。&lt;/p&gt;
&lt;p&gt;この状態で動作させると、&lt;code&gt;hoge&lt;/code&gt; というリテンションポリシーが存在しないというエラーが出るので、InfluxDB のコンテナに入ってリテンションポリシーを作成します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ docker exec -it influxdb bash
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;コンテナに入ったら以下のコマンドでリテンションポリシーを作成します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# influx
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;gt; CREATE RETENTION POLICY &amp;#34;リテンションポリシー名&amp;#34; ON &amp;#34;データベース名&amp;#34; DURATION &amp;#34;期間&amp;#34; REPLICATION 1 DEFAULT
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;例えば、今回は以下のように指定します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;CREATE RETENTION POLICY &amp;#34;hoge&amp;#34; ON &amp;#34;telegraf_metrics&amp;#34; DURATION 1h REPLICATION 1 DEFAULT
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;上記のコマンドではデータの保存期間を１時間に設定しています。&lt;/p&gt;
&lt;h2 id="参考-url"&gt;&lt;a href="#%e5%8f%82%e8%80%83-url" class="header-anchor"&gt;&lt;/a&gt;参考 URL
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://qiita.com/sammrai/items/0c329ac7aa8b100b66a8" target="_blank" rel="noopener"
 &gt;https://qiita.com/sammrai/items/0c329ac7aa8b100b66a8&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/influxdata/telegraf/blob/master/etc/telegraf.conf" target="_blank" rel="noopener"
 &gt;https://github.com/influxdata/telegraf/blob/master/etc/telegraf.conf&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://grafana.com/grafana/dashboards/928" target="_blank" rel="noopener"
 &gt;https://grafana.com/grafana/dashboards/928&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.htkyama.org/telegraf_influxdb_grafana" target="_blank" rel="noopener"
 &gt;https://blog.htkyama.org/telegraf_influxdb_grafana&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Grafana のダッシュボードをログインなしで閲覧できるようにする</title><link>https://blog.ponkotools.com/posts/2021/06/11/grafana/</link><pubDate>Fri, 11 Jun 2021 00:00:00 +0900</pubDate><guid>https://blog.ponkotools.com/posts/2021/06/11/grafana/</guid><description>&lt;p&gt;タイトルの通りです。&lt;/p&gt;
&lt;p&gt;Grafana には一応 Snapshot という機能がありますが、日時の範囲が固定で、範囲を変えても範囲外のデータは閲覧できなかったりと、その名の通りあくまでスナップショットです。&lt;/p&gt;
&lt;p&gt;なので、ログインしなくてもダッシュボードの閲覧だけは出来るように設定します。&lt;/p&gt;
&lt;h2 id="環境"&gt;&lt;a href="#%e7%92%b0%e5%a2%83" class="header-anchor"&gt;&lt;/a&gt;環境
&lt;/h2&gt;&lt;p&gt;docker および docker-compose を使って構築しています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Grafana v7.5.7&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="設定"&gt;&lt;a href="#%e8%a8%ad%e5%ae%9a" class="header-anchor"&gt;&lt;/a&gt;設定
&lt;/h2&gt;&lt;p&gt;設定方法は &lt;code&gt;grafana.ini&lt;/code&gt; を編集するか、環境変数を設定するかのどちらかで行います。&lt;/p&gt;
&lt;p&gt;今回は docker-compose.yml で環境変数を設定しました。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;GF_AUTH_ANONYMOUS_ENABLED&lt;/code&gt; を &lt;code&gt;true&lt;/code&gt; に設定すれば、ログインなしでもダッシュボードの閲覧ができるようになります。&lt;/p&gt;
&lt;p&gt;以下、設定例です。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yml" data-lang="yml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;version&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;3.1&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;services&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;influxdb&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;container_name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;influxdb&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;influxdb:1.8.6&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;ports&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="s2"&gt;&amp;#34;8086:8086&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;volumes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;influxdb:/var/lib/influxdb&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;grafana&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;container_name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;grafana&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;grafana/grafana&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;links&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;influxdb&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;ports&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="s2"&gt;&amp;#34;3000:3000&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;environment&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;GF_AUTH_ANONYMOUS_ENABLED=true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;volumes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;grafana:/var/lib/grafana&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;volumes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;influxdb&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;grafana&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;尚、環境変数の一覧は Grafana の Server Admin &amp;gt; Settings で確認できます。&lt;/p&gt;
&lt;h2 id="参考-url"&gt;&lt;a href="#%e5%8f%82%e8%80%83-url" class="header-anchor"&gt;&lt;/a&gt;参考 URL
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://uzimihsr.github.io/post/2020-05-08-grafana-anonymous-authentication/" target="_blank" rel="noopener"
 &gt;https://uzimihsr.github.io/post/2020-05-08-grafana-anonymous-authentication/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://qiita.com/ryotaro76/items/22fa5e877eaab8b567e1" target="_blank" rel="noopener"
 &gt;https://qiita.com/ryotaro76/items/22fa5e877eaab8b567e1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>