IOTAフルノードコピペセットアップガイド

この記事は原題『GRAFANA IOTA FULL NODE COPY-PASTE INSTALLATION GUIDE』の翻訳です。
原作者に許可を頂いたので、ご参考までに公開します。必要だと思われる部分には言葉や構成を補っています。私の力不足のため、えいやで翻訳されている部分もあります。

IOTAフルノードコピペセットアップガイド

ご自身でIOTAのフルノードを走らせる理由は色々あるでしょうが、一般的には、各フルードはTangleのスケーリングに貢献し、また自分のウォレットをTangleに接続する可能性を与えてくれるという理由があります。

http://iota.partners」より引用

このチュートリアルでは、数分で完璧で安定したノードを実行するために、いくつかのコピー&ペーストのLinuxコンソールコマンドをご紹介します。必要なのは、すこしの時間、忍耐、レンタルサーバ、基本的なコンソールの知識だけです。

訳者より
ただし、この翻訳版では下記のメモの内容を反映するJavascpriptが実装されていないので、メモした内容をご自身でスクリプトに挿入していただくことになります。もし本当の意味で「コピペで行きたい」という方は入力はオリジナルページで行い、訳だけこちらのページを参考にしていただくことをお勧めします。

SlackはIOTAコミュニティの主要なコミュニケーションプラットフォームです。まだワークスペースiotatangle.slack.comに参加していない場合は、ここから参加してください。Slackチャンネル#fullnodesでは英語で、チャンネル#fullnodes-gerではドイツ語でサポートを受けることができます。指示には必ず正確に従ってくださいね。正しくインストールされていないノードが既にインストールされている場合は、先に進む前にサーバを再インストールする必要があります。

サーバ

スパムでないシンプルなノードの場合、現在のところ2コアと4GBのRAM(当然のことですが8GB / 4コアならもっといい)を備えたVPS(バーチャルプライベートサーバ)で事足ります。SSDハードディスクが強く推奨されますが、必須ではありません。ディスク容量は30GBを超える必要はなく、ほとんどすべてのプロバイダのデータ転送トラフィックは非常に高いので、この点について取り立てて気にする必要はないでしょう。

デスクトップコンピュータでノードを実行することはお勧めしません。厳密に言えばうまくいくことにはうまくいくのですが、ほとんどの人が中断することなく365日稼働するノードを探しています。デスクトップコンピュータのノードの稼働率はVPSに比べて低いため、信頼性の点で劣ります。

多くのホストがいて、原則として自由に選択できます。しかし、一部のプロバイダでは、(Scalewayのような)UDPプロトコルに問題があることが知られています。そしてIRIはその方法を使うのです。これは重要なポイントです。多くのネイバーがUDPだけを使いたいからです。

下記には、すでにマシン上にノードが稼働しているEU /ドイツのホストプロバイダの簡易リストがあります
。オファーは非常によく似ていますが、Hetznerはサーバ交換で際立っています。(仮想サーバではなく)高性能の物理サーバを比較的安価に借りることができます。

ホスティングプロバイダ一覧
HETZNER
Contabo
Netcup
Strato
Scaleway(TCP only, BareMetal x86 is OK)
Amazon AWS
DesitalOcean
OVH
So you Start
Exoscale

イメージ / 準備

わかりやすくするため、Ubuntuに焦点を当てます。ご使用のサーバでは、次の点を考慮してください。

  • Ubuntuサーバ16.04以上
  • キーまたはパスワードによるSSH接続もしキーの使い方がわからなければ、パスワードを使ってください(デフォルトです)。
  • パブリックIPアドレス

ファイアウォール、plesk、サポートなどの不要なオプションは無視または無効にしてください。オプションは不要ですし、問題が発生する可能性がありますので。

セッティング

次のステップで設定にいくつかのパラメータが必要です。手元にメモしておきましょう。

Javaメモリの使用を制限し、Ubuntu(およびIRI-DB)用にいくつかのメモリを予約します。最大値を入力してください。IRIのRAM容量(MB)の保守は簡単で、インストールされたシステムRAMの75%をキープしておくだけです。サーバに4GBのRAMがインストールされている場合は、3000とメモします。

Xmx for
IRI(MB)

サーバIPアドレス

サーバのパブリックIPアドレスをメモしてください。

ネイバー(お隣さん)

3〜5人のネイバーがいるのが理想的です。現実世界と同じように、ネイバーが事故ったり、行方不明になることを想定しておく必要があります。ネイバーが多すぎると、ネットワークに負荷がかかるため、ノードに問題が発生する可能性があります。どちらの隣人も同じプロトコル、udpまたはtcpを使用して互いに追加する必要があります。

ネイバーを探す

Slackチャンネル#nodesharingに行き、新しいネイバーを必要としていると声を掛けてください。ご自身のサーバについて少し説明してください。多くの人がパワフルなネイバーを望んでいるからです。例えばこんな風に:誰かネイバーになりませんか?私のスペックはVPS 8GB、4コア、SSD、24時間365日のデータセンターでホストされていますよ。もう一つの可能​​性は、helloiotaフォーラムです。興味のある隣人はあなたにプライベートメッセージ(PM / DM)を書くでしょう。最初にプロトコルに同意してから、ノードデータ:udp:// your-public-ip-address:14600またはtcp:// your-public-ip-address:15600を交換する必要があります。

ネイバー 次に進む前にネイバー(少なくとも1つ、またはカンマなしで)を挿入してください。

Grafanaログインの初期パスワード(a-zと0-9のみ)を自由に決めてメモしてください。

Ubuntuのインストール

サーバが起動して走り始めたらすぐに、SSHでログインしてください。Windowsユーザーに詳細をご紹介できませんが、PUTTYクライアントをお勧めします。

Windowsではテキストエディタでいくつかのコマンドと設定ファイルを変更する必要があるので、Notepad ++を使うことをお勧めします。通常のエディタでは、目に見えない特殊文字を挿入できます。

USER / SUDO

ubuntuをユーザとして使用するインストールでは、sudoで多くのコマンドを実行する必要があります。ユーザーがrootの場合は、その必要はありません。両方のタイプのユーザーにsudoが機能するので、すべての例にそれが含まれます。

最初のサーバログイン

あなたのホストプロバイダに応じて、ubuntuまたはrootのどちらかでログインする必要があります。最初のログイン時にはおそらく既知のホストについてヒントが得られれるでしょう。あなたはこれで簡単に確認できますよ。yes

上でメモしたサーバIPアドレスを設定してください。
< ここにメモしたサーバIPアドレスの値を挿入してください!<>は消して構いません >
という場所です。
ssh root@< ここにメモしたサーバIPアドレスの値を挿入してください!<>は消して構いません >

アップデート

OSを最初に更新しましょう。カーネルのアップデートには再起動が必要です。ターミナルの指示に従ってください。
必要に応じて再起動します。sudo reboot

sudo apt update -qqy --fix-missing && sudo apt-get upgrade -y && sudo apt-get clean -y && sudo apt-get autoremove -y --purge

パッケージ

Javaなどのパッケージが必要です。多くの人々がOpenJDKで問題を生じたので、Oracleがより良い選択であることが証明されています。バージョン9は問題があるので、古いバージョン8を使用します。Oracleは少ないリソースしか消費しません。残念ながら、Oracleではライセンスの確認が必要なため、インストール中に表示されるポップアップ・ウィンドウを確認する必要があります。jqパッケージはJSON出力を読みやすくしてくれます。

sudo apt install software-properties-common -y && sudo add-apt-repository ppa:webupd8team/java -y && sudo apt update && sudo apt install oracle-java8-installer curl wget jq git -y && sudo apt install oracle-java8-set-default -y

セッティング

デフォルトで使用したいJavaをOSに教えてやります。

sudo sh -c 'echo JAVA_HOME="/usr/lib/jvm/java-8-oracle" >> /etc/environment' && source /etc/environment

IOTAユーザ

セキュリティ上の理由から、root(admin-)ユーザでノードを起動してはいけません。ログイン権なしのユーザiotaをつくります。

sudo useradd -s /usr/sbin/nologin -m iota

ディレクトリ

ノード(IRI)アプリケーションのディレクトリ構造を作成します。

sudo -u iota mkdir -p /home/iota/node /home/iota/node/ixi /home/iota/node/mainnetdb

IRIのインストール

githubで公式の最新バージョン(1.4.1.7)をノードディレクトリにダウンロードします。

sudo -u iota wget -O /home/iota/node/iri-1.4.1.7.jar https://github.com/iotaledger/iri/releases/download/v1.4.1.7/iri-1.4.1.7.jar

SYSTEMDサービス

当然ですが、再起動やクラッシュ後にノードが自動的に起動してほしいので、SYSTEMDのサービスが作成します。

すべてをコピーしてコンソールに貼り付けてください。Xmxパラメータが設定されていることを確認してください。

上でメモしたXmxパラメータを設定してください。
< ここにメモしたXmxの値を挿入してください!<>は消して構いません >
という場所です。
cat << "EOF" | sudo tee /lib/systemd/system/iota.service
[Unit]
Description=IOTA (IRI) full node
After=network.target

[Service]
WorkingDirectory=/home/iota/node
User=iota
PrivateDevices=yes
ProtectSystem=full
Type=simple
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
KillSignal=SIGTERM
TimeoutStopSec=60
ExecStart=/usr/bin/java -Xmx< ここにメモしたXmxの値を挿入してください!<>は消して構いません >m -Djava.net.preferIPv4Stack=true -jar iri-1.4.1.7.jar -c iota.ini
SyslogIdentifier=IRI
Restart=on-failure
RestartSec=30

[Install]
WantedBy=multi-user.target
Alias=iota.service

EOF

現在、新しいサービスを有効にしています。このファイルで何かを変更するたびに、sudo systemctl daemon-reloadを実行する必要があります。

sudo systemctl daemon-reload && sudo systemctl enable iota.service

サービスのエイリアスが作成されているので、将来的には次のように処理することができます。

(この時点ではiota / IRIサーバを起動しないでください)sudo service iota start|stop|restart|status

IRI(IOTAリファレンス実装)

自由に設定可能な3つのポートが必要ですが、最近は従うべき方式が確立されています。PORTは、IRIのAPIと通信するために使用されます。たとえば、ウォレットはこのポートを使用します。UDP_RECEIVER_PORTTCP_RECEIVER_PORTは、ネイバーNEIGHBORSとの通信に使用されています。これらのポートをここで変更する必要はありません。

IRIの設定

少なくとも1つのネイバーがいなければ、ノードを起動しても意味がありません。この設定にネイバーを追加するには、ここをクリックしてください。

上でメモしたネイバーのアドレスを設定してください。
< ここにメモしたネイバーのアドレスを挿入してください!<>は消して構いません >
という場所です。
cat << "EOF" | sudo -u iota tee /home/iota/node/iota.ini
[IRI]
PORT = 14265
UDP_RECEIVER_PORT = 14600
TCP_RECEIVER_PORT = 15600
API_HOST = 0.0.0.0
IXI_DIR = ixi
HEADLESS = true
DEBUG = false
TESTNET = false
DB_PATH = mainnetdb
RESCAN_DB = false

REMOTE_LIMIT_API = "removeNeighbors, addNeighbors, interruptAttachingToTangle, attachToTangle, getNeighbors, setApiRateLimit"

NEIGHBORS = < ここにメモしたネイバーのアドレスを挿入してください!<>は消して構いません >
EOF

データベース

あなたのシステムとネイバーのパフォーマンスに応じて同期に数日かかることがあるため、毎時生成される、すでに同期済みのデータベースを使用しましょう。これは、あなたがネイバーの調子がいいのなら、最後の1時間のマイルストーンを同期させるだけで済むので同期がはるかに早く済むことを意味します。データベースは完全なコピーであるため、再スキャンを行う必要はありません。

あなたが何かの理由で最初から同期したいとしても、ばっちりOKです。データベースを使用しない場合より長く時間がかかるだけです。この場合は手順「スタート」に直接進むことができますよ。

データベースのインストール

cd /tmp/ && curl -LO http://db.iota.partners/IOTA.partners-mainnetdb.tar.gz && sudo -u iota tar xzfv /tmp/IOTA.partners-mainnetdb.tar.gz -C /home/iota/node/mainnetdb && rm /tmp/IOTA.partners-mainnetdb.tar.gz

スタート

少なくとも1つのネイバーがあるなら、すぐにノードをスタートしましょう。

(初めて)ノードをスタートする

restart ノードが走っていない場合も同じことを行います。

sudo service iota start

IRI自動アップデート

IRIの新しいバージョンがあるかどうかを15分ごとにチェックし、自動的にインストールします。

echo '*/15 * * * * root bash -c "bash <(curl -s https://gist.githubusercontent.com/zoran/48482038deda9ce5898c00f78d42f801/raw)"' | sudo tee /etc/cron.d/iri_updater > /dev/null

起動後にはログをモニターします。

journalctl -u iota -f

IRI API – 同期

これら2つの数字が同じ場合、あなたのノードは同期されます。latestMilestoneIndex == latestSolidSubtangleMilestoneIndex
手順「オペレーション(IRI API – IRI STATUSの表示)」を参照してください。現在のマイルストーンは、Slackチャンネル#botboxで確認できます。
再起動するたびにlatestSolidSubtangleMilestoneIndex999999999 …で始まり、数分から数時間後には#botboxの値が表示され、自動的に増加します。#botboxからマイルストーンを数桁遅らせても大丈夫です。

journalctl -u iota -fを使えば、同期が動作しているかどうかをログファイルで確認できます。:[Solid Milestone Tracker] INFO com.iota.iri.Milestone – Latest SOLID SUBTANGLE milestone has changed from #123456 to #123457

(再起動不要での)ネイバーの管理

ノードが走っているときに、APIコールを使用して臨機応変に新しいネイバーを追加(または削除)することができます。ただし、/home/iota/node/iota.iniファイル内にも新しいネイバーを追加(または削除)する必要があります。そうしなければ、APIコールによって加えられた変更は、次回の再起動時に失われてしまいます。なので、iota.iniファイルの編集に関する指示には始めから従ってくださいね。APIコールでネイバーノードを追加または削除するときにノードを再起動する必要はありません!

追加(同時に1つ以上)

ネイバーはコンマで区切ります。

curl -H 'X-IOTA-API-VERSION: 1.4' -d '{"command":"addNeighbors", "uris":[
  "tcp://ip-of-the-new-neighbor:12345", "udp://ip-of-the-new-neighbor:54321"
]}' http://localhost:14265

削除(同時に1つ以上)

ネイバーの追加と同様です。

curl -H 'X-IOTA-API-VERSION: 1.4' -d '{"command":"removeNeighbors", "uris":[
  "tcp://ip-of-the-new-neighbor:12345", "udp://ip-of-the-new-neighbor:54321"
]}' http://localhost:14265

オペレーション

理想ではあなたのノードは今稼働しており、あなたはすべてが上手くいっているどうかを知りたいと思っているでしょう。通常はqEscまたはstrg+cでコンソール上のプログラムを終了することができます。

モニタリング

ログファイルを参照します。

journalctl -u iota

ログファイル出力のライブ表示。

journalctl -u iota -f

IRI API – すべてのネイバーを表示

機能しているネイバーの信頼できるインディケーターは、numberOfNewTransactionsの値です。再起動後、何かが起こるまで1〜2分かかります。機能しているとは、値>0となります。

curl http://localhost:14265 -X POST -H 'Content-Type: application/json' -H 'X-IOTA-API-Version: 1.4' -d '{"command": "getNeighbors"}' | jq

IRI API – IRIステータスを表示

curl http://localhost:14265 -X POST -H 'Content-Type: application/json' -H 'X-IOTA-API-Version: 1.4' -d '{"command": "getNodeInfo"}' | jq

IRI API – 同期

これら二つの数が同一であれば(上からIRIのステータスを参照してください)、あなたのノードは、同期されています。latestMilestoneIndex == latestSolidSubtangleMilestoneIndex。現在のマイルストーンは、Slackチャンネル#botboxで確認できます。再起動するたびに、最新のSolidSubtangleMilestoneには999999999 …と表示され、#botboxの値が(数分後から数時間後に)表示され、自動的に増加するはずです。

journalctl -u iota -f:これを使うことでも、同期が上手くいっているかどうかをログファイルで確認できます。

[Solid Milestone Tracker] INFO com.iota.iri.Milestone – Latest SOLID SUBTANGLE milestone has changed from #123456 to #123457.

良いご近所(neighborhood)

信頼できるご近所の重要性をすぐに知ることになるでしょう。iota.iniファイルにどのノードがあるのか​​を書き留めておきます。このようすれば、問題が発生した場合に連絡すべぎ相手を知ることができます。

# Neighborhood
# Active
# slack-user-name-1 | 26.11.2017 | ip-address | udp://address:14624
# slack-user-name-2 | 27.11.2017 | ip-address | tcp://address:15555
# ...

# Unreliable
# slack-user-name-3 | 27.11.2017 | ip-address | udp://address:17134 -> is offline every night

# Lost
# slack-user-name-3 | 27.11.2017 | ip-address | tcp://address:1074 -> offline since 30.11.2017 - does not respond in slack

長い間サーバをオフラインにしなければならない、または終了する必要があることが分かっている場合は、ネイバーに伝えてください。ネイバーに問題がある(numberOfNewTransactionsが0であるか、または数時間も値が止まっている)ことがわかったら、configであるiota.iniから彼を削除する前に何が起きているのかを聞いてください。自分にして欲しいと思うことは、同じようにネイバーにもしてあげてください。

悪いネイバー、つまりオフラインになっていて、Slackで反応がない人は速やかに除外します。NumberOfInvalidTransactionsを生成するネイバーがいる場合は極めて迅速に除外する必要があります。最悪のネイバーで悪影響を及ぼします。

ウォレット

完全なノードを走らせることにより、IOTA / Tangleネットワーク全体の安定化と加速に大きな貢献ができます。見返りとして、将来自分のウォレットに独自のノードを使用でき、毎回動作中のノードを探す必要がなくなります。

ノードにウォレットを接続する

これを行うには、ウォレットでツール – >ノード設定編集を選択し、ホストとしてリストの一番下にあるカスタムを選択します。他の値は変更されず、ノードとは関係ありません。

左下に2つの数字(latestMilestoneIndexlatestSolidSubtangleMilestoneIndex)が表示されていなければなりません。これらの番号が同一で、チャンネル#botboxの番号に対応する場合にのみ、ウォレットを使用できます。

残高が0の場合

ウォレットに別のノードでの総残高が表示されますが、あなた自身のノードでない場合は、残高が表示されるまでウォレット内のアドレスを生成(およびアタッチ)しください。

PROMETHEUS

私たちは長期的な統計とモニタリングのためにPrometheusを(IOTA エクスポータと一緒に)使用します。

nodejs

まず、IOTAエクスポータが必要とするnodejsをインストールします。

cd /tmp && curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash - && sudo apt update && sudo apt install -y nodejs

Prometheus

Prometheusユーザを追加します。

sudo useradd -s /usr/sbin/nologin -m prometheus && sudo -u prometheus mkdir -p /home/prometheus/prometheus2

Prometheusをインストールします。

cd /tmp && curl -LO https://github.com/prometheus/prometheus/releases/download/v2.0.0/prometheus-2.0.0.linux-amd64.tar.gz && sudo -u prometheus tar xzfv /tmp/prometheus-2.0.0.linux-amd64.tar.gz -C /home/prometheus/prometheus2 --strip-components 1 && rm /tmp/prometheus-2.0.0.linux-amd64.tar.gz

設定ファイル

cat << "EOF" | sudo -u prometheus tee /home/prometheus/prometheus2/prometheus.yml
global:
  scrape_interval: 15s
  evaluation_interval: 15s

scrape_configs:
  - job_name: 'prometheus'
    scrape_interval: 5s
    static_configs:
      - targets:
        - 'localhost:9090'

  - job_name: 'node_exporter'
    scrape_interval: 5s
    static_configs:
      - targets:
        - 'localhost:9100'
    params:
      collect[]:
        - cpu
        - meminfo
        - diskstats
        - netdev
        - netstat

  - job_name: 'iota_exporter'
    scrape_interval: 5s
    static_configs:
      - targets:
        - 'localhost:9311'
EOF
Prometheus Service

cat << "EOF" | sudo tee /lib/systemd/system/prometheus.service
[Unit]
Description=Prometheus
Wants=network-online.target
After=network.target

[Service]
Type=simple
WorkingDirectory=/home/prometheus/prometheus2
User=prometheus
PrivateDevices=yes
ProtectSystem=full
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
KillSignal=SIGTERM
TimeoutStopSec=60
ExecStart=/home/prometheus/prometheus2/prometheus --web.listen-address="localhost:9090" --config.file=/home/prometheus/prometheus2/prometheus.yml
Restart=on-failure
RestartSec=30

[Install]
WantedBy=multi-user.target
Alias=prometheus.service

EOF

Prometheusのサービス

cat &lt;&lt; "EOF" | sudo tee /lib/systemd/system/Prometheus.service
[Unit]
Description=Prometheus
Wants=network-online.target
After=network.target

[Service]
Type=simple
WorkingDirectory=/home/Prometheus/Prometheus2
User=Prometheus
PrivateDevices=yes
ProtectSystem=full
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
KillSignal=SIGTERM
TimeoutStopSec=60
ExecStart=/home/Prometheus/Prometheus2/Prometheus --web.listen-address="localhost:9090" --config.file=/home/Prometheus/Prometheus2/Prometheus.yml
Restart=on-failure
RestartSec=30

[Install]
WantedBy=multi-user.target
Alias=Prometheus.service

EOF

サービスを有効にして開始する

sudo systemctl daemon-reload && sudo systemctl enable prometheus.service && sudo service prometheus start

Prometheusノードエクスポータ

ノードエクスポータをインストール

sudo -u prometheus mkdir -p /home/prometheus/node_exporter && cd /tmp && curl -LO https://github.com/prometheus/node_exporter/releases/download/v0.15.2/node_exporter-0.15.2.linux-amd64.tar.gz && sudo -u prometheus tar xzfv /tmp/node_exporter-0.15.2.linux-amd64.tar.gz -C /home/prometheus/node_exporter --strip-components 1 && rm /tmp/node_exporter-0.15.2.linux-amd64.tar.gz

ノードエクスポータのサービスをインストール

cat << "EOF" | sudo tee /lib/systemd/system/node_exporter.service
[Unit]
Description=Prometheus Node Exporter
Wants=network-online.target
After=network.target

[Service]
Type=simple
WorkingDirectory=/home/prometheus/node_exporter
User=prometheus
PrivateDevices=yes
ProtectSystem=full
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
KillSignal=SIGTERM
TimeoutStopSec=60
ExecStart=/home/prometheus/node_exporter/node_exporter --web.listen-address='localhost:9100'
Restart=on-failure
RestartSec=30

[Install]
WantedBy=multi-user.target
Alias=node_exporter.service

EOF

ノードエクスポータのサービスを有効にして開始する

sudo systemctl daemon-reload && sudo systemctl enable node_exporter.service && sudo service node_exporter start

IOTAエクスポータ

gitをインストールし、GitHubからIOTAエクスポータをクローンしてインストールします。

cd /tmp && sudo apt install git -y && sudo -s -H -u prometheus git clone https://github.com/crholliday/iota-prom-exporter.git /home/prometheus/iota-prom-exporter && cd /home/prometheus/iota-prom-exporter && sudo -s -H -u prometheus npm install

IOTAエクスポータの設定

cat << "EOF" | sudo -u prometheus tee /home/prometheus/iota-prom-exporter/config.js
let path = require('path')
global.rootPath = path.normalize(path.join(__dirname, '..', '..'))

module.exports = {
    // url and port of your IRI node
    iota_node_url: 'http://localhost:14265',

    // keep this
    stresstest_table_url: 'http://analytics.iotaledger.net/stresstest.table',

    // address and port where the exporter will be bound
    bind_address: '127.0.0.1',
    bind_port: 9311
}

EOF

IOTAエクスポータのサービス

cat << "EOF" | sudo tee /lib/systemd/system/iota_exporter.service
[Unit]
Description=Prometheus IOTA Exporter
Wants=network-online.target
After=network.target

[Service]
Type=simple
WorkingDirectory=/home/prometheus/iota-prom-exporter
User=prometheus
PrivateDevices=yes
ProtectSystem=full
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
KillSignal=SIGTERM
TimeoutStopSec=60
ExecStart=/usr/bin/node /home/prometheus/iota-prom-exporter/app.js
Restart=on-failure
RestartSec=30

[Install]
WantedBy=multi-user.target
Alias=iota_exporter.service

EOF

IOTAエクスポータのサービスを有効にして開始する。

sudo systemctl daemon-reload && sudo systemctl enable iota_exporter.service && sudo service iota_exporter start

GRAFANA

Grafanaは、時系列のインフラストラクチャとアプリケーションのメトリックを視覚化するための主要なグラフとダッシュボードのビルダーです。先に進む前にGrafanaの初期パスワードを決めておいてください。

ディペンデンシをインストールし、Grafanaをダウンロードしてインストールします。

sudo apt install -y wget libfontconfig && cd /tmp && curl -LO https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_4.6.3_amd64.deb && sudo dpkg -i grafana_4.6.3_amd64.deb && sudo rm grafana_4.6.3_amd64.deb

Grafanaの設定

上でメモしたGrafanaのパスワードを設定してください。
< ここにメモしたGrafanaのパスワードを挿入してください!<>は消して構いません >
という場所です。
cat << "EOF" | sudo tee /etc/grafana/grafana.ini
app_mode = production
instance_name = ${HOSTNAME}

[server]
http_port = 3000
domain = localhost
root_url = http://localhost:3000
enable_gzip = true

[security]
# default admin user, created on startup
admin_user = admin
admin_password = < ここにメモしたGrafanaのパスワードを挿入してください!<>は消して構いません >
login_remember_days = 365
cookie_username = grafana_user
cookie_remember_name = grafana_remember

[users]
allow_sign_up = false
allow_org_create = false

[auth.anonymous]
enabled = false

EOF

Grafanaのサービスを有効にします。

sudo systemctl daemon-reload && sudo systemctl enable grafana-server

Grafanaのサーバを起動します。

sudo service grafana-server start && sleep 6

デフォルトのデータソースをインストールします。

上でメモしたGrafanaのパスワードを設定してください。
< ここにメモしたGrafanaのパスワードを挿入してください!<>は消して構いません >
という場所です。
curl -H "Content-Type: application/json" -X POST -u admin:< ここにメモしたGrafanaのパスワードを挿入してください!<>は消して構いません > -d '{"name":"Prometheus","type":"prometheus","typeLogoUrl":"","access":"proxy","url":"http://localhost:9090","basicAuth":false,"isDefault":true}' http://localhost:3000/api/datasources

ダッシュボードをダウンロードします。

cd /etc/grafana && sudo wget -O /etc/grafana/prometheus-dashboard-prometheus.json https://gist.githubusercontent.com/zoran/d0f21e67dc81eb424d4c22a234641788/raw
cd /etc/grafana && sudo wget -O /etc/grafana/prometheus-dashboard-node.json https://gist.githubusercontent.com/zoran/7fc75d8f9f45d6d6fbeac57200841e1a/raw
cd /etc/grafana && sudo wget -O /etc/grafana/prometheus-dashboard-iota.json https://gist.githubusercontent.com/zoran/085eae1b82bb83aa0cd6cabed3a2b9f0/raw

ダッシュボードをインストールします。

上でメモしたGrafanaのパスワードを設定してください。
< ここにメモしたGrafanaのパスワードを挿入してください!<>は消して構いません >
という場所です。
curl -H "Content-Type: application/json" -X POST -u admin:< ここにメモしたGrafanaのパスワードを挿入してください!<>は消して構いません > -d @/etc/grafana/prometheus-dashboard-prometheus.json http://localhost:3000/api/dashboards/db
上でメモしたGrafanaのパスワードを設定してください。
< ここにメモしたGrafanaのパスワードを挿入してください!<>は消して構いません >
という場所です。
curl -H "Content-Type: application/json" -X POST -u admin:< ここにメモしたGrafanaのパスワードを挿入してください!<>は消して構いません > -d @/etc/grafana/prometheus-dashboard-node.json http://localhost:3000/api/dashboards/db
上でメモしたGrafanaのパスワードを設定してください。
< ここにメモしたGrafanaのパスワードを挿入してください!<>は消して構いません >
という場所です。
curl -H "Content-Type: application/json" -X POST -u admin:< ここにメモしたGrafanaのパスワードを挿入してください!<>は消して構いません > -d @/etc/grafana/prometheus-dashboard-iota.json http://localhost:3000/api/dashboards/db

Grafanaのダッシュボード

上でメモしたGrafanaのパスワードを設定してください。
< ここにメモしたGrafanaのパスワードを挿入してください!<>は消して構いません >
という場所です。
さあ、ピカピカの新しいダッシュボードを見てみましょう。
ユーザ:admin、パスワード:< ここにメモしたGrafanaのパスワードを挿入してください!<>は消して構いません >

上でメモしたサーバIPアドレスを設定してください。
< ここにメモしたサーバIPアドレスの値を挿入してください!<>は消して構いません >
という場所です。
http://< ここにメモしたサーバIPアドレスの値を挿入してください!<>は消して構いません >:3000/dashboard/db/iota

原作者の連絡先と寄付先

〇連絡先
Slackで「Zoran」さんを探してください。

〇ZoranさんへのIOTA 寄付アドレス
NETJOOFVIJKHMUQHAMLBWMYGTOCWXNVLKTZ9FGYZAOVHRNPEPGTCJYGWB9MJDHQZKCXVXMLDHCPVHKOPWTEXDEVMD9

翻訳者であるJapanese Fan Siteへの寄付

頂いた寄付から寄稿者や翻訳者へお礼をしています。

2 件のコメント

  • コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です