dcd1e8b1aea3594d352d884b87afd87f3967fe00
[iec.git] / src / use_cases / robox / load_components.sh
1 #!/bin/bash
2
3 ROBOX_DIR=/usr/share/local/robox
4 function download_and_install()
5 {
6     if [ ! -e ${ROBOX_DIR}/$1 ]; then
7         sudo wget -p ${ROBOX_DIR} https://github.com/ysemi-computing/RoboxWidget/blob/main/components/$1
8     fi
9     sudo cp ${ROBOX_DIR}/$1  /usr/bin/
10     sudo chmod -f 777 /usr/bin/$1
11 }
12
13 if [ "$(arch)" = "x86_64" ]; then
14     echo "components only support on arch arm64"
15     exit
16 fi
17
18 sudo mkdir -p ${ROBOX_DIR}
19 which node_exporter
20 if [ $? -ne 0 ]; then
21     echo "node_exporter not found, downloading !!!!"
22     download_and_install node_exporter
23 fi
24
25 which perf_exporter
26 if [ $? -ne 0 ]; then
27     echo "perf_exporter not found, downloading !!!!"
28     download_and_install perf_exporter
29 fi
30
31 which prometheus
32 if [ $? -ne 0 ]; then
33     echo "prometheus not found, downloading !!!!"
34     download_and_install prometheus
35 fi
36
37 which grafana-server
38 if [ $? -ne 0 ]; then
39     echo "grafana not found, downloading !!!!"
40     download_and_install grafana-server
41 fi
42
43 # update configuration file
44 if [ ! -e ${ROBOX_DIR}/ys_perf_exporter ]; then
45     sudo wget -P ${ROBOX_DIR} https://github.com/ysemi-computing/RoboxWidget/blob/main/config/ys_perf_exporter.yml
46 fi
47 sudo cp -f ${ROBOX_DIR}/ys_perf_exporter /etc/perf_exporter
48
49 if [ ! -e ${ROBOX_DIR}/ys_prometheus.yml ]; then
50     sudo wget -P ${ROBOX_DIR} https://github.com/ysemi-computing/RoboxWidget/blob/main/config/ys_prometheus.yml
51 fi
52
53 # start basic components
54 echo "starting node_exporter"
55 ps aux | grep -v grep | grep node_exporter
56 if [ $? -ne 0 ]; then
57     sudo node_exporter &
58 fi
59
60 echo "starting perf_exporter"
61 ps aux | grep -v grep | grep perf_exporter
62 if [ $? -ne 0 ]; then
63     sudo perf_exporter &
64 fi
65
66 echo "starting prometheus"
67 ps aux | grep -v grep | grep prometheus
68 if [ $? -ne 0 ]; then
69     sudo prometheus --config.file=${ROBOX_DIR}/ys_prometheus.yml &
70 fi
71
72 echo "starting grafana-server"
73 ps aux | grep -v grep | grep grafana-server
74 if [ $? -ne 0 ]; then
75     sudo grafana-server &
76 fi
77