#!/ binに/ bashのの # #のrhel7。4。監視データの取得のためにnode_exporterマウント 位に使い方を: #1 SHをにaddNode。SH #Logs:は/ var / log / メッセージが #history: 2019 /を8。 / 2 V3 #Create_Time:2019 - 08 - 02 #USE:small_wei # # WEB_PATH = ' http://12.0.94.46:8086 ' ここで#は、私のテスト環境でのファイルパスダウンロードするためのリンクです INSTALL_PATH =は/ opt / ノード SERVER_FILE =は/ usr / libに/にsystemd /システム RED_COLOR = ' \ E [1; 31メートル' #红 GREEN_COLOR = ' \ E [1; 32メートル' #绿 RES = ' \ E [0メートル' node_user = ノード node_group = ノード Time_date = $(日付 + " %のY%のm個の% D%のHの%のM%S 」) であれば [!$(識別 -u)== 0 ]。その後、 エコー -e " $ {GREEN_COLOR}はrootユーザーで実行してください!$ {RES} " の出口22 Fi回線 #防止重复执行 あれば [$( PS -ef | grepの $ 0 | grep -v grepの | WC -l)-gt 2 ]。次いで #理论值为1、但这里是2 エコー -e " $スクリプトが実行されている{RED_COLOR} $ 0は繰り返さない!実行IDは$$$ {RES}である" 出口22 Fiの #create基あれば存在しない のegrepは " ^ $ {node_group} " / etc / groupの2 >は/ dev / nullの 場合は [$?-ne 0 ]。それから $ {} node_group groupaddの エコー -e " 成功の作成$ {} node_groupグループ" Fi回線 #createユーザがあれば存在しませ egrepのを " ^ $ {node_user} "の/ etc / passwdの 2 >は/ dev / nullの 場合は [$?-ne 0 ]。その後、 useraddの - グラムの$ {node_group} $ {} node_user エコー -e " $ {} node_userユーザーの成功の作成" Fi回線 ポートを = `netstatの-anp | grepの 9100 ` もしテスト-z "$ {ポート} " 次に MKDIR - Pの$ {INSTALL_PATH} のchown - R $ {node_user} $ {node_user} $ {INSTALL_PATH} wgetの -p $ {INSTALL_PATH} $ WEB_PATH / downloadFile / node_exporter chmodの + X $ {INSTALL_PATH} / node_exporter あれば [[$ ==?0 ]]; その後、 エコー -e " $ {} GREEN_COLOR環境の準備完全な$ {RES} " Fi回線 # ----------------- あれば [ -f " $ {SERVER_FILE} /node_exporter.service " ]; 次に、 CP$ {SERVER_FILE} /node_exporter.serviceの$ {SERVER_FILE} / -f node_exporter.service.bak $ {Time_date} Fiの 場合は [$?== 0 ]。その後、 エコー -e " $ {} GREEN_COLOR node_exporter.service.bak $ {Time_date}が成功した$ {RES}バックアップファイルの" 他の エコー -e " $ {} RED_COLOR node_exporter.service.bak $ {} Time_dateファイルのバックアップは$ {を失敗しましたRES} " 出口22 のfi 猫 > $ {SERVER_FILE} /node_exporter.service << - EOF [単位] 説明 = プロメテウスノード輸出 ドキュメント = HTTPS:// prometheus.io/ 後= local-fs.targetネットワーク- online.target network.targetが 望ん = local-fs.targetネットワーク- online.target network.target [サービス] ユーザー = $ {} node_user グループ = $ {node_group } 入力 = シンプル #ExecStart:= $ {INSTALL_PATH} / node_exporter --web.listenアドレス= 9100 --log.level = エラー ExecStart = $ {INSTALL_PATH} / node_exporter --web.listenアドレス= 9100 -でlog.level = インフォ [インストール] WantedBy =マルチuser.target EOF systemctlデーモン - リロード systemctl再起動node_exporter 場合は [$?== 0 ]。その後、 エコー -e " $ {} GREEN_COLOR node_exporte Serverの成功を開始!$ {RES} " 他の エコー -e " $ {} RED_COLOR node_exporte Server起動ERROR!$ {RES} " の出口22 Fi回線 # -------- ---------- 他の エコー -e " $ {} GREEN_COLORポート:9100がビジー状態である、{RES} $に失敗した" Fi回線 systemctlはnode_exporter有効 node_exporter systemctl状態を #验证 カール -I -mを3 -oは/ dev / nullに -s - W%{HTTP_CODE} 127.0。0.1:9100 \ n個 であれば [$?== 0 ]。その後、 エコー -e " $ {} GREEN_COLOR領事成功$ {RES}でノードを登録し、" 他の エコー -e " $ {} RED_COLOR登録が失敗したか、登録、チェックしてください!$ {RES} " の出口22 Fiの