キーのインストールの展開スクリプト(シェル)Node_exporter

#!/ 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.00.19100 \ n個

であれば [$?== 0 ]。その後、
    エコー -e   " $ {} GREEN_COLOR領事成功$ {RES}でノードを登録し、" 
他の
    エコー -e " $ {} RED_COLOR登録が失敗したか、登録、チェックしてください!$ {RES} " 
    の出口22 
Fiの

 

おすすめ

転載: www.cnblogs.com/small-wei/p/11307705.html