feat: add configure_node_exporter
This commit is contained in:
parent
ab05db660f
commit
b656906971
@ -409,6 +409,44 @@ configure_proxychains() {
|
|||||||
fi
|
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() {
|
# configure_nodejs() {
|
||||||
# [ -f /usr/local/bin/node ] && return
|
# [ -f /usr/local/bin/node ] && return
|
||||||
# [ $offline -eq 1 ] && return
|
# [ $offline -eq 1 ] && return
|
||||||
@ -477,3 +515,4 @@ configure_timedate
|
|||||||
configure_bootinfo
|
configure_bootinfo
|
||||||
configure_oomkiller
|
configure_oomkiller
|
||||||
# configure_swap
|
# configure_swap
|
||||||
|
configure_node_exporter
|
||||||
|
|||||||
@ -46,5 +46,6 @@ iptables -P INPUT DROP
|
|||||||
|
|
||||||
# allow by default
|
# allow by default
|
||||||
add_input_tcp_filter 9443 gost-proxy
|
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