├── LICENSE ├── OLD_VERSION ├── automzg01.sh └── automzg05.sh ├── README.md └── automzg.sh /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2025 BUG IT 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /OLD_VERSION/automzg01.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Cores 4 | RED='\033[1;31m' 5 | GREEN='\033[1;32m' 6 | YELLOW='\033[1;33m' 7 | BLUE='\033[1;34m' 8 | WHITE='\033[1;37m' 9 | NC='\033[0m' # Sem cor 10 | 11 | # Função para exibir status 12 | status() { 13 | if [ $? -eq 0 ]; then 14 | echo -e "${GREEN}✅ Concluído${NC}\n" 15 | else 16 | echo -e "${RED}❌ Falhou${NC}\n" 17 | fi 18 | } 19 | 20 | # Verifica se é root 21 | if [[ "$EUID" -ne 0 ]]; then 22 | echo -e "${RED}❌ Este script precisa ser executado como root!${NC}" 23 | exit 1 24 | fi 25 | 26 | clear 27 | 28 | # ASCII ZABBIX 29 | echo -e "${RED}" 30 | cat << "EOF" 31 | ###### ## ##### ##### #### ## ## #### ###### #### ##### ## ## 32 | ## #### ## ## ## ## ## ## ## ## ## ## ## ## ## ## ### ### 33 | ## ## ## ## ## ## ## ## ### ## ## ## ## ## ## ####### 34 | ## ###### ##### ##### ## ## #### ## ## ## ##### ## # ## 35 | ## ## ## ## ## ## ## ## #### ## ## ## ## #### ## ## 36 | ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## 37 | ###### ## ## ##### ##### #### ## ## #### ## #### ## ## ## ## 38 | EOF 39 | echo -e "${NC}" 40 | echo -e "${NC}" 41 | echo -e ":: Iniciando instalação do MySQL + Zabbix + Grafana... Aguarde...\n" 42 | echo 43 | 44 | # Repositorio Zabbix 45 | echo -e "${YELLOW}📥 Baixando e configurando repositório do Zabbix...${NC}" 46 | wget -q https://repo.zabbix.com/zabbix/7.2/release/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.2+ubuntu24.04_all.deb &>/dev/null 47 | dpkg -i zabbix-release_latest_7.2+ubuntu24.04_all.deb &>/dev/null 48 | apt update -qq &>/dev/null 49 | status 50 | 51 | # Instala Pacotes Zabbix 52 | echo -e "${YELLOW}📦 Instalando pacotes Zabbix...${NC}" 53 | apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent &>/dev/null 54 | status 55 | 56 | # Instala MySQL 57 | echo -e "${YELLOW}📦 Instalando MySQL Server...${NC}" 58 | apt install -y mysql-server &>/dev/null 59 | status 60 | 61 | # Cria DB 62 | # Alterar a senha do DB - 123456 63 | echo -e "${YELLOW}📦 Criando banco de dados Zabbix...${NC}" 64 | mysql -u root </dev/null 65 | CREATE DATABASE IF NOT EXISTS zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; 66 | CREATE USER IF NOT EXISTS 'zabbix'@'localhost' IDENTIFIED BY '123456'; 67 | GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost'; 68 | SET GLOBAL log_bin_trust_function_creators = 1; 69 | EOF 70 | 71 | zcat /usr/share/zabbix/sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -u zabbix -p 123456 zabbix &>/dev/null 72 | mysql -u root -e "SET GLOBAL log_bin_trust_function_creators = 0;" &>/dev/null 73 | status 74 | 75 | # Configuração do Zabbix 76 | echo -e "${YELLOW}📦 Configurando o servidor Zabbix...${NC}" 77 | if [ -f /etc/zabbix/zabbix_server.conf ]; then 78 | sed -i 's/# DBPassword=/DBPassword=123456/' /etc/zabbix/zabbix_server.conf &>/dev/null 79 | status 80 | else 81 | echo -e "${RED}❌ Falhou (arquivo de conf não encontrado)${NC}\n" 82 | fi 83 | 84 | # Altera Idioma 85 | echo -e "${YELLOW}📦 Configurando idioma PT-BR...${NC}" 86 | locale-gen pt_BR.UTF-8 &>/dev/null 87 | status 88 | 89 | # Instalar Grafana 90 | echo -e "${YELLOW}📦 Instalando Grafana...${NC}" 91 | apt install -y apt-transport-https software-properties-common wget &>/dev/null 92 | mkdir -p /etc/apt/keyrings/ 93 | wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor | tee /etc/apt/keyrings/grafana.gpg &>/dev/null 94 | echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com stable main" > /etc/apt/sources.list.d/grafana.list 95 | apt update -qq &>/dev/null 96 | apt install -y grafana &>/dev/null 97 | status 98 | 99 | # Ativa Serviços 100 | echo -e "${YELLOW}🔁 Ativando e iniciando serviços...${NC}" 101 | systemctl restart zabbix-server zabbix-agent apache2 grafana-server &>/dev/null 102 | systemctl enable zabbix-server zabbix-agent apache2 grafana-server &>/dev/null 103 | status 104 | 105 | # Fim 106 | echo -e "${GREEN}🎉 Instalação Finalizada com Sucesso!${NC}\n" 107 | 108 | # Links Acesso 109 | IP=$(hostname -I | awk '{print $1}') 110 | echo -e "${WHITE}🔗 Zabbix: ${YELLOW}http://${BLUE}${IP}${YELLOW}/zabbix ${NC}(login: ${BLUE}Admin${NC} / ${BLUE}zabbix${NC})" 111 | echo -e "${WHITE}🔗 Grafana:${YELLOW} http://${BLUE}${IP}${YELLOW}:3000 ${NC}(login: ${BLUE}admin${NC} / ${BLUE}admin${NC})" 112 | echo 113 | echo -e "\e[1;37mScript desenvolvido por: \e[1;92mBUG IT\e[0m" 114 | echo 115 | -------------------------------------------------------------------------------- /OLD_VERSION/automzg05.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Cores 4 | RED='\033[1;31m' 5 | GREEN='\033[1;32m' 6 | YELLOW='\033[1;33m' 7 | BLUE='\033[1;34m' 8 | WHITE='\033[1;37m' 9 | NC='\033[0m' # Sem cor 10 | 11 | # Função para exibir status 12 | status() { 13 | if [ $? -eq 0 ]; then 14 | echo -e "${GREEN}✅ Concluído${NC}\n" 15 | else 16 | echo -e "${RED}❌ Falhou${NC}\n" 17 | fi 18 | } 19 | 20 | # Verifica se é root 21 | if [[ "$EUID" -ne 0 ]]; then 22 | echo -e "${RED}❌ Este script precisa ser executado como root!${NC}" 23 | exit 1 24 | fi 25 | 26 | clear 27 | 28 | # ASCII ZABBIX 29 | echo -e "${RED}" 30 | cat << "EOF" 31 | ###### ## ##### ##### #### ## ## #### ###### #### ##### ## ## 32 | ## #### ## ## ## ## ## ## ## ## ## ## ## ## ## ## ### ### 33 | ## ## ## ## ## ## ## ## ### ## ## ## ## ## ## ####### 34 | ## ###### ##### ##### ## ## #### ## ## ## ##### ## # ## 35 | ## ## ## ## ## ## ## ## #### ## ## ## ## #### ## ## 36 | ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## 37 | ###### ## ## ##### ##### #### ## ## #### ## #### ## ## ## ## 38 | EOF 39 | echo -e "${NC}" 40 | echo -e "${NC}" 41 | echo -e ":: Iniciando instalação do MySQL + Zabbix + Grafana... Aguarde...\n" 42 | echo 43 | 44 | # Detecta versão do Ubuntu 45 | UBUNTU_VERSION=$(grep '^VERSION_ID=' /etc/os-release | cut -d '=' -f2 | tr -d '"') 46 | 47 | # Repositório Zabbix 48 | echo -e "${YELLOW}📥 Baixando e configurando repositório do Zabbix para Ubuntu ${UBUNTU_VERSION}...${NC}" 49 | wget -q https://repo.zabbix.com/zabbix/7.2/release/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.2-1+ubuntu${UBUNTU_VERSION}_all.deb 50 | dpkg -i zabbix-release_7.2-1+ubuntu${UBUNTU_VERSION}_all.deb &>/dev/null 51 | apt update -qq &>/dev/null 52 | status 53 | 54 | # Instala Pacotes Zabbix 55 | echo -e "${YELLOW}📦 Instalando pacotes Zabbix...${NC}" 56 | apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent &>/dev/null 57 | status 58 | 59 | # Instala MySQL 60 | echo -e "${YELLOW}📦 Instalando MySQL Server...${NC}" 61 | apt install -y mysql-server &>/dev/null 62 | status 63 | 64 | # Cria DB 65 | echo -e "${YELLOW}📦 Criando banco de dados Zabbix...${NC}" 66 | mysql -u root </dev/null 67 | CREATE DATABASE IF NOT EXISTS zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; 68 | CREATE USER IF NOT EXISTS 'zabbix'@'localhost' IDENTIFIED BY '123456'; 69 | GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost'; 70 | SET GLOBAL log_bin_trust_function_creators = 1; 71 | EOF 72 | 73 | zcat /usr/share/zabbix/sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -u zabbix -p123456 zabbix &>/dev/null 74 | mysql -u root -e "SET GLOBAL log_bin_trust_function_creators = 0;" &>/dev/null 75 | status 76 | 77 | # Configuração do Zabbix 78 | echo -e "${YELLOW}📦 Configurando o servidor Zabbix...${NC}" 79 | if [ -f /etc/zabbix/zabbix_server.conf ]; then 80 | sed -i 's/# DBPassword=/DBPassword=123456/' /etc/zabbix/zabbix_server.conf &>/dev/null 81 | status 82 | else 83 | echo -e "${RED}❌ Falhou (arquivo de conf não encontrado)${NC}\n" 84 | fi 85 | 86 | # Altera Idioma 87 | echo -e "${YELLOW}📦 Configurando idioma PT-BR...${NC}" 88 | locale-gen pt_BR.UTF-8 &>/dev/null 89 | status 90 | 91 | # Instalar Grafana 92 | echo -e "${YELLOW}📦 Instalando Grafana...${NC}" 93 | apt install -y apt-transport-https software-properties-common wget &>/dev/null 94 | mkdir -p /etc/apt/keyrings/ 95 | wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor | tee /etc/apt/keyrings/grafana.gpg &>/dev/null 96 | echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com stable main" > /etc/apt/sources.list.d/grafana.list 97 | apt update -qq &>/dev/null 98 | apt install -y grafana &>/dev/null 99 | status 100 | 101 | # Ativa Serviços 102 | echo -e "${YELLOW}🔁 Ativando e iniciando serviços...${NC}" 103 | systemctl restart zabbix-server zabbix-agent apache2 grafana-server &>/dev/null 104 | systemctl enable zabbix-server zabbix-agent apache2 grafana-server &>/dev/null 105 | status 106 | 107 | # Fim 108 | echo -e "${GREEN}🎉 Instalação Finalizada com Sucesso!${NC}\n" 109 | 110 | # Links Acesso 111 | IP=$(hostname -I | awk '{print $1}') 112 | echo -e "${WHITE}🔗 Zabbix: ${YELLOW}http://${BLUE}${IP}${YELLOW}/zabbix ${NC}(login: ${BLUE}Admin${NC} / ${BLUE}zabbix${NC})" 113 | echo -e "${WHITE}🔗 Grafana:${YELLOW} http://${BLUE}${IP}${YELLOW}:3000 ${NC}(login: ${BLUE}admin${NC} / ${BLUE}admin${NC})" 114 | echo 115 | echo -e "\e[1;37mScript desenvolvido por: \e[1;92mBUG IT\e[0m" 116 | echo 117 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ``` 2 | █████╗ ██╗ ██╗████████╗ ██████╗ ███╗ ███╗███████╗ ██████╗ 3 | ██╔══██╗██║ ██║╚══██╔══╝██╔═══██╗ ████╗ ████║╚══███╔╝██╔════╝ 4 | ███████║██║ ██║ ██║ ██║ ██║ ██╔████╔██║ ███╔╝ ██║ ███╗ 5 | ██╔══██║██║ ██║ ██║ ██║ ██║ ██║╚██╔╝██║ ███╔╝ ██║ ██║ 6 | ██║ ██║╚██████╔╝ ██║ ╚██████╔╝ ██║ ╚═╝ ██║███████╗╚██████╔╝ 7 | ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝ ╚═════╝ 8 | ``` 9 | 10 | 11 | 12 | AUTO MZG é um script interativo e automatizado que instala o Mysql Server + Zabbix Server + Grafana em sistemas Ubuntu de forma rápida, eficiente e visualmente amigável no terminal. 13 | 14 | Desenvolvido para profissionais de infraestrutura, DevOps, analistas NOC e entusiastas de monitoramento que desejam agilizar a montagem de laboratórios ou ambientes de produção com uma interface clara e colorida. 15 |


16 | 📂 Como Utilizar 17 | ```bash 18 | git clone https://github.com/bug-it/automzg.git 19 | cd automzg 20 | chmod +x automzg.sh 21 | sudo ./automzg.sh 22 | ``` 23 |

24 | 🔧 Requisitos 25 | 26 | → Ubuntu 22.04 ou superior.
27 | → Permissões de root (sudo).
28 | → Conexão com a internet. 29 |


30 | ✅ Recursos do Script 31 | 32 | → Detecção de erros e ocultação de mensagens desnecessárias.
33 | → Configuração automática do repositório Zabbix.
34 | → Instalação de pacotes Zabbix Server, Frontend e Agent.
35 | → Instalação do MySQL Server.
36 | → Instalação do Grafana.
37 | → Criação do banco de dados Zabbix com permissões.
38 | → Configuração do arquivo zabbix_server.conf.
39 | → Configuração de locale para pt_BR.UTF-8
40 | → Ativação dos serviços.
41 | → Exibição colorida e em tempo real com status de sucesso ou falha.
42 | → Tudo instalado com apenas 1 script e sem setup. 43 |


44 | 🤝 Contribuições 45 | 46 | → Sinta-se livre para enviar críticas, dúvidas ou sugerir melhorias!
47 | → Este projeto é open source e feito para a comunidade.
48 |

49 | 🧑‍💻 Profissionais apaixonados por automação, monitoramento e infraestrutura inteligente.

50 | 🪲 Desenvolvido por BUG IT 51 | -------------------------------------------------------------------------------- /automzg.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Cores 4 | AMARELO="\e[33m" 5 | VERMELHO="\e[31m" 6 | VERDE="\e[32m" 7 | VERDE_LIMAO="\e[92m" 8 | AZUL_CLARO="\e[96m" 9 | ROXO_CLARO="\e[95m" 10 | LARANJA="\e[93m" 11 | BRANCO="\e[97m" 12 | NC="\033[0m" 13 | 14 | # Verifica o status (sucesso/falha) 15 | status() { 16 | if [ $? -eq 0 ]; then 17 | echo -e "${VERDE}✅ Concluído${NC}\n" 18 | else 19 | echo -e "${VERMELHO}❌ Falhou${NC}\n" 20 | fi 21 | } 22 | 23 | # Verifica se é root 24 | if [[ "$EUID" -ne 0 ]]; then 25 | echo -e "${VERMELHO}❌ Este script precisa ser executado como root!" 26 | exit 1 27 | fi 28 | 29 | # Verifica distribuição e versão do Ubuntu 30 | OS_NAME=$(grep '^NAME=' /etc/os-release | cut -d '=' -f2 | tr -d '"') 31 | OS_VERSION=$(grep '^VERSION_ID=' /etc/os-release | cut -d '=' -f2 | tr -d '"') 32 | OS_MAIOR=$(echo "$OS_VERSION" | cut -d '.' -f1) 33 | OS_MENOR=$(echo "$OS_VERSION" | cut -d '.' -f2) 34 | VERSION_NUM=$(echo "$OS_MAIOR.$OS_MENOR" | bc 2>/dev/null) 35 | 36 | if [[ "$OS_NAME" != "Ubuntu" ]]; then 37 | echo -e "\n${VERMELHO}❌ Versão do script não é suportada com a Distribuição: ${ROXO_CLARO}${OS_NAME} ${OS_VERSION}${NC}" 38 | echo -e "\n${BRANCO}✅ Versão do script suportada apenas para Distribuições: ${AMARELO}Debian ${BRANCO}| ${AMARELO}Ubuntu${NC}\n" 39 | 40 | exit 1 41 | fi 42 | 43 | if (( $(echo "$VERSION_NUM <= 20.04" | bc -l) )); then 44 | echo -e "\n${VERMELHO}❌ Versão do Ubuntu não suportada oficialmente pelo Zabbix 7.2. Use ${AMARELO}22.04 ${VERMELHO}ou ${AMARELO}superior ${VERMELHO}(ex: ${AMARELO}22.04 ${VERMELHO}, ${AMARELO}24.04${VERMELHO})${NC}\n" 45 | exit 1 46 | fi 47 | 48 | clear 49 | 50 | # Banner ASCII 51 | echo -e "${VERMELHO}" 52 | cat << "EOF" 53 | █████╗ ██╗ ██╗████████╗ ██████╗ ███╗ ███╗███████╗ ██████╗ 54 | ██╔══██╗██║ ██║╚══██╔══╝██╔═══██╗ ████╗ ████║╚══███╔╝██╔════╝ 55 | ███████║██║ ██║ ██║ ██║ ██║ ██╔████╔██║ ███╔╝ ██║ ███╗ 56 | ██╔══██║██║ ██║ ██║ ██║ ██║ ██║╚██╔╝██║ ███╔╝ ██║ ██║ 57 | ██║ ██║╚██████╔╝ ██║ ╚██████╔╝ ██║ ╚═╝ ██║███████╗╚██████╔╝ 58 | ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝ ╚═════╝ 59 | EOF 60 | echo 61 | echo 62 | 63 | echo -e "${BRANCO}:: Iniciando instalação do ${LARANJA}MySQL ${BRANCO}+ ${LARANJA}Zabbix ${BRANCO}+ ${LARANJA}Grafana ${BRANCO}::" 64 | echo -e "${BRANCO}:: ${AZUL_CLARO}Aguarde${BRANCO}..." 65 | echo 66 | echo 67 | 68 | # Detecta SO e versão 69 | echo -e "${BRANCO}💻 Detectando sistema operacional: ${ROXO_CLARO}${OS_NAME} ${OS_VERSION}" 70 | echo 71 | echo 72 | 73 | # Baixa repositório Zabbix 74 | echo -e "${BRANCO}📥 Baixando repositório do Zabbix para versão do Ubuntu ${ROXO_CLARO}${OS_VERSION}${BRANCO}:" 75 | wget -q https://repo.zabbix.com/zabbix/7.2/release/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.2-1+ubuntu${OS_VERSION}_all.deb 76 | status 77 | 78 | # Instala o pacote .deb do repositório e atualiza 79 | echo -e "${BRANCO}⏳ Atualizando repositório do Zabbix:" 80 | dpkg -i zabbix-release_7.2-1+ubuntu${OS_VERSION}_all.deb &>/dev/null 81 | apt update -qq &>/dev/null 82 | status 83 | 84 | # Instala componentes do Zabbix 85 | echo -e "${BRANCO}📦 Instalando pacotes Zabbix:" 86 | apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent &>/dev/null 87 | status 88 | 89 | # Instala MySQL Server 90 | echo -e "${BRANCO}📦 Instalando MySQL Server:" 91 | apt install -y mysql-server &>/dev/null 92 | status 93 | 94 | # Solicita senha root do MySQL 95 | read -sp "$(echo -e "${BRANCO}🔑 Digite uma senha para o usuário ${ROXO_CLARO}ROOT ${BRANCO}do MySQL: ")" MYSQL_ROOT_PASS 96 | echo 97 | echo -e "${VERDE}✅ Senha digitada: ${AZUL_CLARO}${MYSQL_ROOT_PASS}" 98 | echo 99 | 100 | # Solicita senha do usuário Zabbix 101 | read -sp "$(echo -e "${BRANCO}🔑 Digite uma senha para o usuário do banco Zabbix: ")" DB_PASS 102 | echo 103 | echo -e "${VERDE}✅ Senha digitada: ${AZUL_CLARO}${DB_PASS}" 104 | echo 105 | 106 | # Cria base de dados e altera autenticação do root 107 | echo -e "${BRANCO}📦 Criando banco de dados Zabbix:" 108 | mysql -u root </dev/null 109 | ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '${MYSQL_ROOT_PASS}'; 110 | FLUSH PRIVILEGES; 111 | CREATE DATABASE IF NOT EXISTS zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; 112 | EOF 113 | status 114 | 115 | # Cria usuário zabbix e dá privilégios 116 | echo -e "${BRANCO}⏳ Configurando usuário Zabbix:" 117 | mysql -u root -p"${MYSQL_ROOT_PASS}" </dev/null 118 | CREATE USER IF NOT EXISTS 'zabbix'@'localhost' IDENTIFIED BY '${DB_PASS}'; 119 | GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost'; 120 | SET GLOBAL log_bin_trust_function_creators = 1; 121 | EOF 122 | status 123 | 124 | # Importa schema inicial do Zabbix 125 | echo -e "${BRANCO}🔄 Importando banco de dados do Zabbix:" 126 | zcat /usr/share/zabbix/sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -u zabbix -p"${DB_PASS}" zabbix &>/dev/null 127 | status 128 | 129 | # Restaura config de binlogs e define idioma no banco 130 | mysql -u root -p"${MYSQL_ROOT_PASS}" -e "SET GLOBAL log_bin_trust_function_creators = 0; USE zabbix; UPDATE users SET lang = 'pt_BR' WHERE lang != 'pt_BR';" &>/dev/null 131 | 132 | # Ajusta password no config do Zabbix Server 133 | echo -e "${BRANCO}⏳ Configurando arquivo ${ROXO_CLARO}ZABBIX.CONF${BRANCO}:" 134 | sed -i "s/# DBPassword=/DBPassword=${DB_PASS}/" /etc/zabbix/zabbix_server.conf &>/dev/null 135 | status 136 | 137 | # Gera locale pt-br 138 | echo -e "${BRANCO}⏳ Configurando idioma ${ROXO_CLARO}PT-BR${BRANCO}:" 139 | locale-gen pt_BR.UTF-8 &>/dev/null 140 | status 141 | 142 | # Cria arquivo de configuração do frontend para pular setup 143 | echo -e "${BRANCO}⏳ Configurando frontend do Zabbix:" 144 | cat < /etc/zabbix/web/zabbix.conf.php 145 | /dev/null 173 | mkdir -p /etc/apt/keyrings/ 174 | wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor | tee /etc/apt/keyrings/grafana.gpg &>/dev/null 175 | echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com stable main" > /etc/apt/sources.list.d/grafana.list 176 | apt update -qq &>/dev/null 177 | apt install -y grafana &>/dev/null 178 | status 179 | 180 | # Reinicia e habilita serviços 181 | echo -e "${BRANCO}🔁 Ativando e iniciando serviços:" 182 | systemctl restart zabbix-server zabbix-agent apache2 grafana-server &>/dev/null 183 | systemctl enable zabbix-server zabbix-agent apache2 grafana-server &>/dev/null 184 | status 185 | 186 | # Mensagem final 187 | echo -e "${VERDE}🎉 Instalação finalizada com sucesso!" 188 | echo 189 | echo 190 | 191 | # URLs de acessos 192 | IP=$(hostname -I | awk '{print $1}') 193 | echo -e "${AMARELO}🔗 Zabbix: ${BRANCO}http://${AZUL_CLARO}${IP}${BRANCO}/zabbix${BRANCO} (${AMARELO}login: ${AZUL_CLARO}Admin / zabbix${BRANCO})" 194 | echo -e "${AMARELO}🔗 Grafana: ${BRANCO}http://${AZUL_CLARO}${IP}${BRANCO}:3000${BRANCO} (${AMARELO}login: ${AZUL_CLARO}admin / admin${BRANCO})" 195 | echo 196 | echo -e "${BRANCO}Script desenvolvido por: ${VERDE_LIMAO}BUG IT${NC}" 197 | echo 198 | --------------------------------------------------------------------------------