feat: add configure_node_exporter
This commit is contained in:
parent
ab05db660f
commit
b656906971
@ -409,6 +409,44 @@ configure_proxychains() {
|
||||
fi
|
||||
}
|
||||
|
||||
configure_node_exporter() {
|
||||
[ -f /usr/local/bin/node_exporter ] && return
|
||||
[ $offline -eq 1 ] && return
|
||||
|
||||
if confirm_action "要配置 Node Exporter 吗?" "N"; then
|
||||
latest_version=$(curl -s "https://api.github.com/repos/prometheus/node_exporter/releases/latest" | grep -o '"tag_name": ".*"' | cut -d'"' -f4)
|
||||
if [ -z "$latest_version" ]; then
|
||||
latest_version="v1.8.2"
|
||||
fi
|
||||
echo "Latest version of node-exporter is $latest_version"
|
||||
|
||||
release="node_exporter-${latest_version#v}.$(uname -s)-$(dpkg --print-architecture).tar.gz"
|
||||
wget $github/prometheus/node_exporter/releases/download/$latest_version/$release -O $tempdir/node_exporter.tar.gz
|
||||
tar -xzf $tempdir/node_exporter.tar.gz -C $tempdir
|
||||
|
||||
node_exporter_dir=$(find $tempdir -type d -name "node_exporter-*")
|
||||
|
||||
sudo cp $node_exporter_dir/node_exporter /usr/local/bin/node_exporter
|
||||
sudo chmod +x /usr/local/bin/node_exporter
|
||||
rm $tempdir/node_exporter.tar.gz
|
||||
rm $node_exporter_dir -r
|
||||
|
||||
if [ ! -d "/etc/node_exporter" ]; then
|
||||
sudo mkdir -p /etc/node_exporter
|
||||
fi
|
||||
sudo cp $scriptdir/files/node_exporter.yml /etc/node_exporter/config.yml
|
||||
sudo cp $scriptdir/files/node_exporter.crt /etc/node_exporter/cert.crt
|
||||
sudo cp $scriptdir/files/node_exporter.key /etc/node_exporter/cert.key
|
||||
|
||||
# Create a systemd service
|
||||
sudo cp $scriptdir/files/node_exporter.service /etc/systemd/system/node_exporter.service
|
||||
sudo chmod +x /etc/systemd/system/node_exporter.service
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl start node_exporter
|
||||
sudo systemctl enable node_exporter
|
||||
fi
|
||||
}
|
||||
|
||||
# configure_nodejs() {
|
||||
# [ -f /usr/local/bin/node ] && return
|
||||
# [ $offline -eq 1 ] && return
|
||||
@ -477,3 +515,4 @@ configure_timedate
|
||||
configure_bootinfo
|
||||
configure_oomkiller
|
||||
# configure_swap
|
||||
configure_node_exporter
|
||||
|
||||
@ -46,5 +46,6 @@ iptables -P INPUT DROP
|
||||
|
||||
# allow by default
|
||||
add_input_tcp_filter 9443 gost-proxy
|
||||
add_input_tcp_filter 6330 node-exporter
|
||||
|
||||
# ====================
|
||||
|
||||
22
files/node_exporter.crt
Normal file
22
files/node_exporter.crt
Normal file
@ -0,0 +1,22 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDjzCCAnegAwIBAgIUNYsGqrXga3IuVxLG6KB/rogWTK0wDQYJKoZIhvcNAQEL
|
||||
BQAwVzELMAkGA1UEBhMCQ04xEDAOBgNVBAgMB0JlaWppbmcxEDAOBgNVBAcMB0Jl
|
||||
aWppbmcxEDAOBgNVBAoMB25hbm8uYWMxEjAQBgNVBAMMCWxvY2FsaG9zdDAeFw0y
|
||||
NDEwMjMxNjQ5MjFaFw0zNDEwMjExNjQ5MjFaMFcxCzAJBgNVBAYTAkNOMRAwDgYD
|
||||
VQQIDAdCZWlqaW5nMRAwDgYDVQQHDAdCZWlqaW5nMRAwDgYDVQQKDAduYW5vLmFj
|
||||
MRIwEAYDVQQDDAlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
|
||||
AoIBAQDbSen/P/5oN/XysCwr8MMpRTVvYbAQfb7IsVFr3r0r7Csi3sXeGdjiks6t
|
||||
U1RdmCOHkrC3kCiZO4aozYa9cSQexElBsZlxsFrBwmk5pwjoWkIMkWgvX+olVYau
|
||||
dKBAI3ERnPFuNER1SCz//HtFYEGb5g9he8mabPX3OjlOaZlEgH+kVCbE6J3lyhKb
|
||||
/f5hj9XPY2dft/xBIF3YjbtoischR5lrT6wVXTDOyEVeGZwWKMyFpilZRpZpKXrz
|
||||
7SSKN3Br8tred7Lb69ezRer4AwqXaOf/5fkDSYB4u5DUDqahdGX0IqajfL68eIY5
|
||||
weS9Elxvg6br4P1rrzkVcylvzD6BAgMBAAGjUzBRMB0GA1UdDgQWBBS93OW9XU0q
|
||||
13p4PPxGd+WV5pja2TAfBgNVHSMEGDAWgBS93OW9XU0q13p4PPxGd+WV5pja2TAP
|
||||
BgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCYv5X2Xvfa5RHlZcIX
|
||||
tfTdL4i3qPyGlxJFQY80BOqCinrW4+fYefaONMLethN1+LU6jFvqE/ukGjFlyAq2
|
||||
a1Y2PddaUbnKoDD0FFtQIVVG+D33zeobmomWnDmk0c18bAW6TMgxc81Ksa2K11JY
|
||||
5RWb4Pn11lZACK3cZPebgsAXKktnRUVs4UnvKRvnn/hoMIv5ZpGXB2/N/ZotBkUR
|
||||
iln11RI9c+BeOPWfUuKKk68Vih0yRIgkNjPVHec4EACQCMpWa9uVhHwI1YdebPFp
|
||||
r9TF5z6Dt/eBsxEI6yZc/7Fo2SReL+Eb+Ji1QTJjQX7WkQwB5AA2bN5Qc5/9u9ti
|
||||
xdSL
|
||||
-----END CERTIFICATE-----
|
||||
28
files/node_exporter.key
Normal file
28
files/node_exporter.key
Normal file
@ -0,0 +1,28 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDbSen/P/5oN/Xy
|
||||
sCwr8MMpRTVvYbAQfb7IsVFr3r0r7Csi3sXeGdjiks6tU1RdmCOHkrC3kCiZO4ao
|
||||
zYa9cSQexElBsZlxsFrBwmk5pwjoWkIMkWgvX+olVYaudKBAI3ERnPFuNER1SCz/
|
||||
/HtFYEGb5g9he8mabPX3OjlOaZlEgH+kVCbE6J3lyhKb/f5hj9XPY2dft/xBIF3Y
|
||||
jbtoischR5lrT6wVXTDOyEVeGZwWKMyFpilZRpZpKXrz7SSKN3Br8tred7Lb69ez
|
||||
Rer4AwqXaOf/5fkDSYB4u5DUDqahdGX0IqajfL68eIY5weS9Elxvg6br4P1rrzkV
|
||||
cylvzD6BAgMBAAECggEBAIaM77ridSNVUt+6ISBE9jqYcJULB5DW1v0lb6QUY1ZT
|
||||
7pPSxO3mRiGfmpjXDGjxNLu20h+PoJmE4LcqhIYwqc0G+zwH0PLlForU0uPBDcIj
|
||||
v2sevSJ0Y6LMu3rHrJwuIu5/sdPA1lBwHMxlCu4ihZ82pjFWVvkd6j3rx8XJHXXd
|
||||
j3hqKYZHWPPcY5lOGzarueEmJSTI+Yk2WK5WeIoiNYATFj7LLD0i8Vj7Ld4mPt4L
|
||||
BE/CrtpPz+gnUwhcfSiCAdFjxXAzn+RkMknp8vCfPHY8vOM8VXQanKATCtpUJhFT
|
||||
5BQfCfwt4wGOh7p3nFDKa7pbVBWIj9lNdIgCrdrTnVECgYEA9mtyerxITGCMgFhx
|
||||
OcYxZmW8SdygktJnks5NbwA7HD6r5Z1BD0o062gM6eccHZlXN3/0dQS9lqSggZNx
|
||||
H4b5FdbD0b85o139S9pAthWgdSMOznCA8LpqOm6hx/wddAWjqYOhOr/CErTyTxvK
|
||||
xne59WvjnE35BaNMXPd/SeUM6GcCgYEA49BwZCSh2eqOrlDH5P5VMBne5QMQsyPN
|
||||
8Ui/bVR02Usc7DKvlUeIo/QVvXIgK8Z6HsU5HF+/jnlXeav3QrvLQzWuAwK2/k2M
|
||||
NW5ymVPX63dMWrMqTjv8hz0B57lQaK/ejf29gWmZhY4l7H+GrCJQQBK7YBjy9cJX
|
||||
uE3H7yR4cNcCgYAL0VVZK4RwHUU/tn4fnjCqT4C7LhiJUgvjj39JLoKnNR47UdJX
|
||||
8GAfVgsggJPpm3wCTmGj5wlMmzKTZEXNlESH1pfnjDswaYaHR71IvjrGw1qnbd/R
|
||||
K6+Cg+HAXIfxE4Ao1gY6cg3VpdXlE1kjMYS6j2UIDvk9WvqDjt8M5S48SwKBgDo7
|
||||
XX87neOGAVKtc2slV8Ej28XOMsaXsFysq8HWhMfGW25Exnzx/AtsqOHz+iU2ZqDW
|
||||
6PJHxz8z5RhEzL9SIXLclc5PM1dtmxlNUh2/QMH/jJTilz3IN5SaE5KX2+Xmjozc
|
||||
/0PFKmjpHOiG8HWvj7PRFfRKbFBFjQafWyvVtrOhAoGATc1PNAlPuvwycDRbM4CH
|
||||
fI7pOws/4ha76OL7W3BxqDNtGtiBcCy95OxAu/7QSuxUgsJIEYBkEm+QCnvXoj+F
|
||||
g00cglRphbUVuAEuxMbID0rgKc0f1lKocAVWVU80UekITXxMbnbWA+jGNBEe6yY7
|
||||
gnybiO6hoE6xdPg0jAtiKkk=
|
||||
-----END PRIVATE KEY-----
|
||||
13
files/node_exporter.service
Normal file
13
files/node_exporter.service
Normal file
@ -0,0 +1,13 @@
|
||||
[Unit]
|
||||
Description=Node Exporter
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
User=nobody
|
||||
ExecStart=/usr/local/bin/node_exporter \
|
||||
--web.config=/etc/node_exporter/config.yml \
|
||||
--web.listen-address=":6330"
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
6
files/node_exporter.yml
Normal file
6
files/node_exporter.yml
Normal file
@ -0,0 +1,6 @@
|
||||
tls_server_config:
|
||||
cert_file: /etc/node_exporter/cert.crt
|
||||
key_file: /etc/node_exporter/cert.key
|
||||
basic_auth_users:
|
||||
# pwd: uVaV7z88
|
||||
nano: $2y$12$aeUMZVQtMslJeho0Hq/76eBG5xMiMI6Q9OImEcuU3l7oPvRnNlx1O
|
||||
Loading…
Reference in New Issue
Block a user