Compare commits
11 Commits
3290c04f6b
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 093d0fa56a | |||
| eca352baab | |||
| 32f03ed5dc | |||
| d688810304 | |||
| 0e8662c390 | |||
| 501f2be89e | |||
| 9d6b6a7afc | |||
| 555358a851 | |||
| 3c81d6c07f | |||
| 14a03d53b8 | |||
| 696a047e32 |
71
.drone.yml
71
.drone.yml
@@ -1,21 +1,3 @@
|
||||
---
|
||||
kind: pipeline
|
||||
type: exec
|
||||
name: test
|
||||
|
||||
trigger:
|
||||
event:
|
||||
exclude:
|
||||
- promote
|
||||
|
||||
steps:
|
||||
- name: Check playbook
|
||||
commands:
|
||||
- ansible-playbook -C playbook.yml
|
||||
|
||||
node:
|
||||
target: local
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: exec
|
||||
@@ -32,56 +14,3 @@ steps:
|
||||
|
||||
node:
|
||||
target: shell-scripts
|
||||
|
||||
trigger:
|
||||
event:
|
||||
- promote
|
||||
target:
|
||||
- production
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: exec
|
||||
name: deploy to local test
|
||||
|
||||
steps:
|
||||
- name: Check playbook
|
||||
commands:
|
||||
- ansible-playbook -C playbook.yml
|
||||
|
||||
- name: Run playbook
|
||||
commands:
|
||||
- ansible-playbook playbook.yml
|
||||
|
||||
node:
|
||||
target: local
|
||||
|
||||
trigger:
|
||||
event:
|
||||
- promote
|
||||
target:
|
||||
- local
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: exec
|
||||
name: deploy to public test
|
||||
|
||||
steps:
|
||||
- name: Check playbook
|
||||
commands:
|
||||
- ansible-playbook -C playbook.yml
|
||||
|
||||
- name: Run playbook
|
||||
commands:
|
||||
- ansible-playbook playbook.yml
|
||||
|
||||
node:
|
||||
target: shell-testing
|
||||
|
||||
trigger:
|
||||
event:
|
||||
- promote
|
||||
target:
|
||||
- testing
|
||||
|
||||
|
||||
@@ -6,8 +6,7 @@
|
||||
become: yes
|
||||
apt:
|
||||
name: nginx-light
|
||||
update_cache: yes
|
||||
state: latest
|
||||
state: present
|
||||
- name: Create dir
|
||||
file:
|
||||
path: /var/www
|
||||
|
||||
51
src/basic.sh
51
src/basic.sh
@@ -36,7 +36,7 @@ totalmem=`free -m | head -2 | tail -1 | awk '{print $2}'`
|
||||
echo 'LA: ' $la ' of ' $nproc
|
||||
echo 'RAM: ' $usedmem 'Mb of ' $totalmem Mb
|
||||
|
||||
echo -e "${TEXT_COLOR_GOOD} - Disk: ${TEXT_COLOR_OFF}\n"
|
||||
echo -e "\n${TEXT_COLOR_GOOD} - Disk: ${TEXT_COLOR_OFF}\n"
|
||||
|
||||
df -h | head -n 1
|
||||
df -h | grep '/dev/vd'
|
||||
@@ -53,19 +53,40 @@ echo -e "\n ${TEXT_COLOR_GOOD} - Installed panel: ${TEXT_COLOR_OFF}\n"
|
||||
[[ -d /usr/local/mgr5/ ]] && echo "ISPManager!"
|
||||
[[ -d /usr/local/fastpanel2 ]] && echo "Fastpanel 2"
|
||||
|
||||
echo -e "${TEXT_COLOR_GOOD} - Installed packages: ${TEXT_COLOR_OFF}\n"
|
||||
echo -e "${TEXT_COLOR_GOOD} - OOMS: ${TEXT_COLOR_OFF}\n"
|
||||
dmesg -T | grep "Out of memory" | tail -20
|
||||
|
||||
list=$(apt list --installed 2>&1 |egrep 'atop')
|
||||
|
||||
echo $list
|
||||
# Top RAM
|
||||
echo -e "${TEXT_COLOR_GOOD} - Top RAM usage:${TEXT_COLOR_OFF}"
|
||||
ps axk-%mem ouser,%cpu,%mem,command | head
|
||||
echo
|
||||
|
||||
# Top CPU
|
||||
echo -e "${TEXT_COLOR_GOOD} - Top CPU usage:${TEXT_COLOR_OFF}"
|
||||
ps axk-%cpu ouser,%cpu,%mem,command | head
|
||||
echo
|
||||
|
||||
# Какое ПО стоит? Docker/atop
|
||||
echo -e "\n${TEXT_COLOR_GOOD} - Installed software: ${TEXT_COLOR_OFF}\n"
|
||||
|
||||
for i in "docker" "atop" "qemu-ga"
|
||||
do
|
||||
if which $i
|
||||
then
|
||||
echo "$i is installed"
|
||||
else
|
||||
echo "$i is NOT installed"
|
||||
fi
|
||||
echo
|
||||
done
|
||||
|
||||
while true
|
||||
do
|
||||
echo -e "
|
||||
---
|
||||
1. Посмотреть жрущие ЦПУ/ОЗУ процессы
|
||||
2. Вывести OOM'ы
|
||||
3. nginx: Посмотреть конфиги и домены в них
|
||||
2. nginx: Посмотреть конфиги и домены в них
|
||||
3. Запустить logs
|
||||
|
||||
0. Выход
|
||||
"
|
||||
@@ -75,21 +96,13 @@ echo -e "
|
||||
0)
|
||||
harakiri
|
||||
;;
|
||||
1)
|
||||
echo "- Top RAM usage:"
|
||||
|
||||
ps axk-%mem ouser,%cpu,%mem,command | head
|
||||
echo
|
||||
echo "- Top CPU usage:"
|
||||
|
||||
ps axk-%cpu ouser,%cpu,%mem,command | head
|
||||
;;
|
||||
2)
|
||||
echo "- OOMS:"
|
||||
dmesg -T | grep "Out of memory"
|
||||
nginx -T 2> /dev/null | egrep "configuration file|server_name"
|
||||
;;
|
||||
3)
|
||||
nginx -T | egrep "configuration file|server_name"
|
||||
wget -O /tmp/nginx.sh 94.228.126.204/nginx.sh
|
||||
bash /tmp/nginx.sh
|
||||
rm /tmp/nginx.sh
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
126
src/nginx.sh
126
src/nginx.sh
@@ -1,3 +1,125 @@
|
||||
#!/bin/bash
|
||||
echo "- Sort by IP"
|
||||
cat /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -hr | head -n 30
|
||||
|
||||
# trap 'echo " Vyhody cherez menu"' INT
|
||||
|
||||
TEXT_COLOR_GOOD="\033[92m"
|
||||
TEXT_COLOR_BAD="\033[91m"
|
||||
TEXT_COLOR_OFF="\033[0m"
|
||||
|
||||
echo -e "
|
||||
${TEXT_COLOR_GOOD}
|
||||
__
|
||||
/ /___ ____ ______
|
||||
/ / __ \/ __ / ___/
|
||||
/ / /_/ / /_/ (__ )
|
||||
/_/\____/\__, /____/
|
||||
/____/
|
||||
${TEXT_COLOR_OFF}
|
||||
"
|
||||
|
||||
menu() {
|
||||
[[ -d /opt/webdir/bin/ ]] && menu_bx
|
||||
[[ -d /usr/local/vesta/ ]] && menu_vesta
|
||||
[[ -d /usr/local/mgr5/ ]] && menu_isp
|
||||
[[ -d /usr/local/fastpanel2 ]] && menu_fastpanel
|
||||
}
|
||||
|
||||
menu_fastpanel() {
|
||||
|
||||
clear
|
||||
readarray -t lines < <(ls /var/www/fastuser/data/logs/ | awk -F"-" '{print $1}' | uniq )
|
||||
echo "Выбери сайт:"
|
||||
select c in "${lines[@]}"; do
|
||||
[[ -n $c ]] || { echo "Некорректный выбор." >&2; continue; }
|
||||
break
|
||||
done
|
||||
|
||||
read -r a <<<"$c"
|
||||
clear
|
||||
echo -n "Для $c:
|
||||
1. Access Log
|
||||
2. Error Log
|
||||
3. (DDoS) Количество запросов в минуту
|
||||
4. DDoS Топ запросов
|
||||
5. DDoS Топ IP-адресов
|
||||
6. Топ user-агентов
|
||||
7. Спам через форму
|
||||
8. Количество запроосов по часам
|
||||
9. Проверка кодов ответа
|
||||
|
||||
0. Выход
|
||||
"
|
||||
read -r b
|
||||
case $b in
|
||||
0)
|
||||
exit ;;
|
||||
1)
|
||||
clear
|
||||
cat /var/www/fastuser/data/logs/$c-frontend.access.log
|
||||
read -p 'Для выхода в меню нажми Enter'
|
||||
;;
|
||||
2)
|
||||
clear
|
||||
cat /var/www/fastuser/data/logs/$c-frontend.error.log
|
||||
read -p 'Для выхода в меню нажми Enter'
|
||||
;;
|
||||
3)
|
||||
clear
|
||||
wc -l "/var/www/fastuser/data/logs/$c-frontend.access.log"
|
||||
echo "Подождем минуту..."
|
||||
sleep 1m
|
||||
wc -l "/var/www/fastuser/data/logs/$c-frontend.access.log"
|
||||
read -p 'Для выхода в меню нажми Enter'
|
||||
;;
|
||||
4)
|
||||
clear
|
||||
cat /var/www/fastuser/data/logs/$c-frontend.access.log | awk '{print $7}' | sort | uniq -c | sort -rn | head
|
||||
read -p 'Для выхода в меню нажми Enter'
|
||||
;;
|
||||
5)
|
||||
clear
|
||||
cat /var/www/fastuser/data/logs/$c-frontend.access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head
|
||||
read -p 'Для выхода в меню нажми Enter'
|
||||
;;
|
||||
6)
|
||||
cat /var/www/fastuser/data/logs/$c-frontend.access.log | awk ' {for (i = 12; i <= (NF-1); i++) printf("%s%s",$i,(i==(NF-1))?"\n":OFS)}' | sort | uniq -c |sort -rn |head
|
||||
read -p 'Для выхода в меню нажми Enter'
|
||||
;;
|
||||
7)
|
||||
clear
|
||||
cat /var/www/fastuser/data/logs/$c-frontend.access.log | grep POST |awk '{print $6,$7}' | sort | uniq -c | sort -rn | head
|
||||
read -p 'Для выхода в меню нажми Enter'
|
||||
;;
|
||||
8)
|
||||
clear
|
||||
cat /var/www/fastuser/data/logs/$c-frontend.access.log | awk '{print $4}' | sed 's/:[0-9][0-9]:[0-9][0-9]$//g' | uniq -c
|
||||
read -p 'Для выхода в меню нажми Enter'
|
||||
;;
|
||||
9)
|
||||
clear
|
||||
cat /var/www/fastuser/data/logs/$c-frontend.access.log | awk '{print $9}' | sort | uniq -c | sort -rn | head
|
||||
read -p 'Для выхода в меню нажми Enter'
|
||||
;;
|
||||
esac
|
||||
menu_fastpanel
|
||||
}
|
||||
|
||||
menu_bx() {
|
||||
clear
|
||||
echo "В процессе запила"
|
||||
menu_exit
|
||||
}
|
||||
|
||||
menu_vesta() {
|
||||
clear
|
||||
echo "В процессе запила"
|
||||
menu_exit
|
||||
}
|
||||
|
||||
menu_isp() {
|
||||
clear
|
||||
echo "В процессе запила"
|
||||
menu_exit
|
||||
}
|
||||
|
||||
menu
|
||||
Reference in New Issue
Block a user