- Администрирование БД Oracle
- Monday, January 18, 2016
- Установка Zabbix на CentOs/RHEL/Oracle linux 6.
- Zabbix Documentation 2.2
- Sidebar
- Table of Contents
- 3 Установка из пакетов
- Из пакетов дистрибутивов
- Из официального репозитория Zabbix
- Red Hat Enterprise Linux / CentOS
- Установка пакета конфигурации репозитория
- Установка пакетов Zabbix
- Создание начальной базы данных
- Запуск процесса Zabbix сервера
- Изменение конфигурации PHP для веб-интерфейса Zabbix
- Debian / Ubuntu
- Установка пакета конфигурации репозитория
- Установка пакетов Zabbix
- How to install Zabbix server on CentOS 8 / RHEL 8 / Oracle Linux 8 ?
- What is Zabbix?
- Install Zabbix on CentOS 8 / RHEL 8 / Oracle Linux 8
- Install LAMP on CentOS 8 / RHEL 8 / Oracle Linux 8
- Create the Zabbix user on MariaDB
- Install Zabbix on CentOS 8 / RHEL 8 / Oracle Linux 8 (I)
- Install Zabbix on CentOS 8 / RHEL 8 / Oracle Linux 8 (II)
- Install the Zabbix agent on the nodes
- Conclusion
- ZABBIX install on Oracle Linux (OL)
- Мониторинг базы данных Oracle через ODBC в Zabbix
- Установка Oracle Instant Client
- Настройка SQLplus для доступа к БД Oracle.
- Конфигурация ODBC.
Администрирование БД Oracle
Monday, January 18, 2016
Установка Zabbix на CentOs/RHEL/Oracle linux 6.
# mysqladmin -u root password ‘pass_string’
Install repository configuration package:
# rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
# yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by ‘zabbix’;
# mysql -uroot zabbix # service zabbix-server start
php_value date.timezone Europe/Samara
# iptables -I INPUT -p tcp —dport 80 -m state —state NEW,ESTABLISHED -j ACCEPT
# iptables -I OUTPUT -p tcp —sport 80 -m state —state ESTABLISHED -j ACCEPT
# iptables -I INPUT -p tcp —dport 443 -m state —state NEW,ESTABLISHED -j ACCEPT
# iptables -I OUTPUT -p tcp —sport 443 -m state —state ESTABLISHED -j ACCEPT
# iptables -I INPUT -p tcp -m state —state NEW,ESTABLISHED -m tcp —dport 10051 -j ACCEPT
# iptables -I OUTPUT -p tcp —sport 10051 -m state —state ESTABLISHED -j ACCEPT
# service iptables save
# semanage port -a -t http_port_t -p tcp 10051
# setsebool -P httpd_can_network_connect true
#setsebool -P zabbix_can_network=true
Источник
Zabbix Documentation 2.2
Sidebar
Table of Contents
3 Установка из пакетов
Из пакетов дистрибутивов
Некоторые популярные дистрибутивы ОС предоставляют пакеты Zabbix. Вы можете использовать эти пакеты для установки Zabbix.
Из официального репозитория Zabbix
Zabbix SIA поставляет официальные RPM и DEB пакеты для Red Hat Enterprise Linux, Debian и Ubuntu LTS.
Файлы пакетов доступны по адресу repo.zabbix.com. Репозитории yum и apt также доступны на сервере. Пошаговое руководство по установке Zabbix из пакетов представлено ниже.
Red Hat Enterprise Linux / CentOS
Поддерживаемые версии: RHEL 5, RHEL 6, RHEL 7, Oracle Linux 5, Oracle Linux 6, Oracle Linux 7, CentOS 5, CentOS 6, CentOS 7
Установка пакета конфигурации репозитория
Установите пакет конфигурации репозитория. Этот пакет содержит файлы конфигурации yum.
Zabbix 2.2 для RHEL5, Oracle Linux 5, CentOS 5:
Zabbix 2.2 для RHEL6, Oracle Linux 6, CentOS 6:
Zabbix 2.2 для RHEL7, Oracle Linux 7, CentOS 7:
Установка пакетов Zabbix
Установите пакеты Zabbix. Например, установка Zabbix сервера с веб-интерфейсом и с базой данных MySQL.
Пример установки только Zabbix агента.
Создание начальной базы данных
Создайте базу данных zabbix и пользователя в MySQL.
Импортируйте изначальную схему и данные.
Запуск процесса Zabbix сервера
Измените настройки базы данных в zabbix_server.conf
Запустите процесс Zabbix сервера.
Изменение конфигурации PHP для веб-интерфейса Zabbix
Файл конфигурации Apache веб-интерфейса Zabbix размещается в /etc/httpd/conf.d/zabbix.conf. Некоторые параметры конфигурации PHP уже заданы.
Необходимо раскомментировать опцию “date.timezone” и установить корректный часовой пояс. После изменения файла конфигурации перезапустите веб-сервер apache.
Веб-интерфейс Zabbix доступен через браузер по адресу http://zabbix-frontend-hostname/zabbix. Имя пользователя/пароль по умолчанию — Admin/zabbix.
Debian / Ubuntu
Поддерживаемые версии: Debian 6 (Squeeze), Debian 7 (Wheezy), Ubuntu 12.04 LTS (Precise Pangolin), Ubuntu 14.04 LTS (Trusty Tahr)
Установка пакета конфигурации репозитория
Установите пакет конфигурации репозитория. Этот пакет содержит файлы конфигурации apt.
Zabbix 2.2 для Debian 6:
Zabbix 2.2 для Debian 7:
Zabbix 2.2 для Ubuntu 12.04 LTS:
Zabbix 2.2 для Ubuntu 14.04 LTS:
Установка пакетов Zabbix
Установите пакеты Zabbix. dbconfig-common создаст базу данных и автоматически заполнит изначальную схему и данные. Если конечная база данных размещается на другом сервере, тогда установите пожалуйста dbc_remote_questions_default=’true’ в /etc/dbconfig-common/config.
Например, установка Zabbix сервера с веб-интерфейсом и с базой данных MySQL.
Источник
How to install Zabbix server on CentOS 8 / RHEL 8 / Oracle Linux 8 ?
Knowing what is happening in a network is the most frequent work of computer experts in any company. In this way, you get reliable data on the operation and performance of it. This becomes important because it would make the organization’s work more effective and error-free. In this sense, Zabbix is a reference in this type of applications. With them, you will know what is happening in the network. Therefore, in this post, we will teach you how to install Zabbix on CentOS 8 / RHEL 8 / Oracle Linux 8.
What is Zabbix?
Zabbix is quite a wonder. It is an open-source application that works under the client-server architecture. In other words, when installed on any server, it requires an agent to be installed on the client computers. In this way, the application will be able to monitor all the behavior of the nodes as well as the performance of the network.
On the other hand, the development of Zabbix is quite positive and constant, which makes it quite safe and functional. In addition to being quite mature in its development supports several database management systems including the popular MariaDB, MySQL, PostgreSQL or proprietary alternatives such as Oracle and IBM DB2.
In this post, we will install step by step the Zabbix server on CentOS 8 / RHEL 8 / Oracle Linux 8.
Install Zabbix on CentOS 8 / RHEL 8 / Oracle Linux 8
As expected, Zabbix has precompiled binaries available for RHEL 8 and derivatives. These are available from the official repository, but there are some prerequisites we must meet. One of them is that we need a web server running on our computer. Besides that, a database management system like MariaDB.
Install LAMP on CentOS 8 / RHEL 8 / Oracle Linux 8
In this case, we have a complete tutorial where you can install LAMP on CentOS 8 / RHEL 8 / Oracle Linux 8. There, step by step, you will be able to get a web server running as well as the database manager MariaDB.
Create the Zabbix user on MariaDB
Once the server is running correctly. It is necessary to create a new user and database for Zabbix. To do this, open the MySQL console and run:
1.- Creating the new database and user for Zabbix
Install Zabbix on CentOS 8 / RHEL 8 / Oracle Linux 8 (I)
Then we can install Zabbix without problems. We will achieve this by using the official Zabbix repository for RHEL 8.
So as a root user, run the following command to add the GPG key from the repository:
Then add the repository as such:
2.- Adding the Zabbix repository
Then proceed to install the Zabbix packages.
3.- Install Zabbix on CentOS / RHEL 8 / Oracle Linux 8
If you want you can modify the PHP timezone on the Zabbix configuration file.
Uncomment the line date.timezone and add your timezone.
The next step is to load the initial Zabbix database.
Then, it is necessary to specify the database parameters in the Zabbix configuration file.
In this file, you have to modify the following values
4.- Configuring Zabbix on CentOS 8 / RHEL 8 / Oracle Linux 8
Save the changes and close the file. The next step is to open the Zabbix ports in the Firewall so that it can run smoothly.
Finally, start the service. If you want Zabbix to run at system startup, you can add these commands:
Install Zabbix on CentOS 8 / RHEL 8 / Oracle Linux 8 (II)
The last thing we need to do before we have our Zabbix server running is to complete the installation using the web browser. Open it and go to http://your-server/ you will see this
5.- Zabbix 4 working
Then, the installer will check the prerequisites.
6.- The wizard will check the requisites
Now, we have to set the parameters of the database that we have previously defined.
7.- Configure the parameters of the database
Then, set up some server details.
8.- Server details
In the end, you will see the summary and the message that Zabbix has been successfully installed.
9.- Zabbix is installed on CentOS 8 / RHEL 8 / Oracle Linux 8
After finishing the process, you will see the login screen. Log in with admin as user and zabbix as password.
10.- Zabbix log in page
Finally, you will see the dashboard. And that is it.
Install the Zabbix agent on the nodes
In order for Zabbix to monitor correctly, it is necessary to install the agents in each of the nodes. Probably, they use different operating systems, so the installation can vary in each of them.
First, you have to add the Zabbix repository for each system. In case you use Ubuntu 18.04:
Then, install Zabbix with the following command:
If you use CentOS 8, add the repository with this command:
Then, install the agent with the following command:
Finally, if you use Debian 9:
And you install it with the command:
Conclusion
Zabbix is an important application in any network service. Thanks to it it is possible to do complete monitoring on the operation of the same one. It also verifies the state of the nodes. In this post, you have learned to install it on the server-side.
Источник
ZABBIX install on Oracle Linux (OL)
ZABBIX — свободная система мониторинга и отслеживания статусов разнообразных сервисов компьютерной сети, серверов и сетевого оборудования, написанная Алексеем Владышевым
Для хранения данных используется MySQL, PostgreSQL, SQLite или Oracle. Веб-интерфейс написан на PHP. ZABBIX поддерживает несколько видов мониторинга:
Simple checks — может проверять доступность и реакцию стандартных сервисов, таких как SMTP или HTTP без установки какого-либо программного обеспечения на наблюдаемом хосте.
ZABBIX agent — может быть установлен на UNIX-подобных или Windows хостах для получения данных о нагрузке процессора, использования сети, дисковом пространстве и т. д.
External check — выполнение внешних программ. ZABBIX также поддерживает мониторинг через SNMP.
Источник: Википедия
Итак, поехали. В качестве OS используется Oracle Linux (OL)-6.4.
. Язык привычный — EN.
]# yum —enablerepo=epel -y install zabbix-server-mysql zabbix-agent zabbix-web-mysql # install from EPEL
# create a database for ZABBIX
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.1.52 Source distribution
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
mysql> create database zabbix;
Query OK, 1 row affected (0.00 sec)
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by ‘password’;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
]# cd /usr/share/doc/zabbix-server-mysql-1.8.5/c reate/schema
[root@bastion schema]# cat mysql.sql | mysql -u root -p zabbix
Enter password: # MySQL root password
[root@bastion schema]# cd ../data
[root@bastion data]# cat data.sql | mysql -u root -p zabbix
Enter password:
[root@bastion data]# cat images_mysql.sql | mysql -u root -p zabbix
Enter password:
[root@bastion data]# cd
# line 110: uncomment and add DB password for Zabbix
# line 91: change to your hostname
# line 440: change to Zabbix recomended
# line 449: change to Zabbix recomended
# line 457: change to Zabbix recomended
# line 729: change to Zabbix recomended
# line 878: change to Zabbix recomended
# line 946: uncomment and add your timezone
Alias /zabbix /usr/share/zabbix
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from 10.0.0.0/24 # change to the range you allow to access
Источник
Мониторинг базы данных Oracle через ODBC в Zabbix
В статье будет рассмотрена возможность мониторинга база данных по средствам встроенной в Zabbix поддержке ODBC, c использованием автообнаружения объектов.
Для начала рассмотрим доступные для Zabbix методы мониторинга БД, которые использовались до поддержки ODBC.
Так как статья про мониторинг Oracle, то и будем смотреть в этом разрезе.
1. Использования скрипта zabora
В принципе спкрипт всем хорош, но главное, что меня не устраивало: скрипт лежит на каждой машине с БД, и при добавление запроса приходилось идти на эту машину и редактировать конфиг.
Поддерживает параметры запросов, то есть можно передавать параметр в ключ и на основе его делать запрос к БД.
То есть один и то же запрос может быть использован для сбора метрик разных объектов.
Тоже хороший продукт, является демоном на java, создает несколько соединений и поддерживает автоматическое добавление новых запросов в конфиг без перезагрузки. Работает как Zabbix trapper, то есть сам с определенной периодичностью посылает данные в Zabbix сервер.
Недостатки:
— не поддерживает параметры, то есть на каждую метрику создается отдельный запрос.
Представьте у вас 10 tablespace’ов и вам нужно снимать с каждого 4 параметра — получается 40 запросов в файле. Интервал запроса получение метрики, так же выставляется в конфиге, что не очень удобно.
Попробовав все эти решения решил использовать поддержку ODBC в Zabbix, и вот почему:
- запрос к БД — стандартный ключ Zabbix, из этого следует, что мы настраиваем такие параметры как частота опроса в самом интерфейсе
- редактирование запросов в интерфейсе Zabbix
- позволяет использовать макросы
- самое главное позволяет автоматизировать процесс добавления новых объектов на мониторинг
Сначала опишу, что имеется в хозяйстве:
1. 6 баз данных Oracle — 1 БД — 1 сервер + 1 резервный сервер под БД итого: получается 12 серверов.
2. Сервера для каждой БД объединены в кластер — итого 6 кластеров
3. На каждом сервера установлен Zabbix agent для AIX
4. На каждом сервере по скрипту zabora
Конфигурация Zabbix мониторинга:
- Zabbix сервер на CentOS 6.5 + TokuDB — 20 000 элементов — 380 nps (новых значений в секунду)
- Специально для мониторинга БД, был поднят Zabbix Proxy, так как запросы могут выполнятся достаточно долго, то не хотелось бы из-них подвешивать процессы сбора данных основного Zabbix’a — тоже CentOS 6.5 + TokuDB
В этой статье я не буду касаться настройки TokuDB, так как планирую еще одну статью почему мы перешли с InnoDB на TokuDB, и что нам это дало.
Установка Oracle Instant Client
Сначала необходимо установить Oracle Instant Client на машину с Zabbix Proxy:
У нас используется Oracle 11g, поэтому скачиваем RMP пакеты соответствующей версии с сайта Oracle.
Нам необходимы:
- oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm — основные библиотеки
- oracle-instantclient11.2-jdbc-11.2.0.4.0-1.x86_64.rpm — драйвера для java, для нашей задачи не нужны, но в хозяйстве пригодиться 🙂
- oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm — клиент SQLplus
- oracle-instantclient11.2-odbc-11.2.0.4.0-1.x86_64.rpm — библиотека для работы через ODBC
- можно еще до кучи: oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm 🙂
в той папке в которую скачали все эти файлы делаем:
Настройка SQLplus для доступа к БД Oracle.
Для того чтобы клиент работал, необходимо в параметры окружение выставить необходимые переменные, для начала выставим их в своем профиле, прописав в файл $HOME/.bash_profile :
Перелогиниваемся и смотрим есть ли наши переменные в
Обратим внимание на переменную TNS_ADMIN=$ORACLE_HOME/network/admin
Этот путь необходимо создать, туда мы положим файл tnsnames.ora который используется библиотеками клиента для подключения к БД.
Создадим подключение к БД с именем TESTDB например.
Необходимо подставить нужные значения в HOST и SERVICE_NAME.
HOST — можно прописывать IP адрес или DNS имя (проверьте только, что оно ресолвится в IP)
Проверим настройку клиента, только предварительно создайте учетную запись zabbix в Oracle.
Видим, что клиент выдал приглашение, значит соединение прошло успешно, и совсем чтобы быть уверенными сделаем простенький запрос:
Конфигурация ODBC.
Официальные пакеты Zabbix Server и Zabbix Proxy в СentoOS скомпилированы с поддержкой unixODBC, поэтому после их установки у вас должен быть установленный пакет unixODBC, проверяем:
Вывод должен содержать следующие пакеты: unixODBC и oracle-instantclient11.2-odbc .
И сразу делаем такую проверку:
C большой долей вероятностью, вы получите libodbcinst.so.1 => not found , поэтому нужно сделать сим-линк:
Дальше редактируем файл:
После этого у нас должно получится подключится к БД Oracle через клиент ODBC (всегда используйте параметр -v, если будет ошибка подключения, скажет детально в чем проблема):
Так же для очистки совести, что у нас все работает, делаем запрос:
Поздравляю, Вы настроили ODBC.
Теперь нам необходимо добиться, чтобы Zabbix Proxy так же мог делать запросы через ODBC.
Для этого необходимо, чтобы в окружение процесса zabbix_proxy были доступны переменные, указанные выше, для это добавим в файл:
После этого обязательно перезапускаем zabbix_proxy:
Теперь мы сразу перейдем к настройке правил автообнаружения в терминологии Zabbix — это low level discovery rule.
Что такое LLD?
В принципе это любой элемент в Zabbix который может вернуть данные в JSON формате.
Так встроенный мониторинг баз данных в Zabbix всегда возвращает только 1 колонку и 1 строку. Почему-то в команде Zabbix до сиз пор не напишут для БД генератор LLD.
Придется написать скрипт который будет выдавать нам список объектов в JSON формате.
Шаблон и скрипт можно взять на GitHub
Скрипт написан на php, поэтому любителям bash прошу отвернуться в сторону 🙂
Комментировать сам скрипт не буду, думаю по коду все понятно, скажу только, что его нужно положить в папку которая задана в конфиге zabbix_proxy.conf (или zabbix_server.conf):
Скрипту передаются два параметра:
1. DSN — который вы указали в файле /etc/odbc.ini в квадратных скобках, в случае примера это ORA_TESTDB
2. тип объектов, список которых нужно вернуть: tablespaces или jobs
В случае jobs, скрипт вернет так же и <#JOBOWNER>, то есть владельца job’a.
Добавьте права на выполнения на скрипт и попробуйте его запустить:
# /usr/lib/zabbix/externalscripts/oracle.odbc.discovery ORA_TESTDB tablespaces , скрипт вернет примерно вот такой массив:
Наконец-то переходим к добавлению мониторинга БД Oracle в Zabbix.
Для начала пару слов о шаблоне:
1. общие ключи мониторинга Oracle взяты из скрипта zabora
2. чтобы шаблона заработал необходимо во вкладе Макросы самого хоста, добавить 3 пользовательских макроса:
— <$DSN1>— DSN который прописан в квадратных скобках файла /etc/odbc.ini (в примере ORA_TESTDB)
— <$ORA_USER>— пользователь с правами которого будет подключение к БД Oracle
— <$ORA_PASSWORD >— пароль для подключения к БД Oracle
Итак список правил LLD:
Чтобы правила отработали в первый раз, выставите в самих правила интервал, предположим 300 секунд, и через 5 минут у вас в элементах данных должны создаться новые.
Рассмотри сами правила и начнем с Tablespaces.
В принципе здесь все понятно, хочу обратить внимание на поле «Фильтр».
С помощью этого поля можно производить фильтрацию списка который возвращает нам сам элемент, в нашем примере нам не нужно добавлять на мониторинг системные tablespaces. Фильтрация происходит на основе правила regexp. Как видно на картинки поле <#TBSNAME>должно соответствовать правилу regexp Oracle System Excluded Tablespaces. Общие правила regexp описываются в Администрирование > Общие > Регулярные выражения и вызываются в фильтре через символ @.
Аналогично все и для job’ов:
Переходим к прототипам данных
Сам прототип
Картинка говорит сама за себя, но хочу обратить на один нюанс, а именно на поле «Единица измерения», по умолчанию в Zabbix используется 10-тичная система исчисления, что и следовало ожидать, поэтому все приставки Кило, Мега, Гига и т.д. это деление на 1000, что с точки зрения исчисления объема данных не совсем корректно, поэтому чтобы вы получали во вкладке «Последние данные» адекватные значения в Zabbix используется «специальные» единицы измерения: B и Bps — байт и байт в секунду (подробнее).
Но есть забавный момент (баг), в последних данных приставки K(ilo), M(ega), G(iga) переводятся в K, М, Г, а вот сама единица нет, поэтому в случае с гигабайтами у Ваc будет ГB.
Прототипы триггеров для tablespaces:
Диапазоны следующие:
- при размере меньше 3ТБ ограничение в процентах
- от 3ТБ до 10ТБ в гигабайтах
- от 10ТБ в гигабайтах
Обратить внимание, что значения в условиях используется в байтах, а также обратить на порядок и используемых значений.
На первый взгляд может показаться лишним условие «Максимальный размер > 0»
Но это сделано для того чтобы приходило более информативное письмо для DBA.
В действиях вы указываете:
В действие мы не можем получить значения ключа который был создан автоматически, не то чтобы мы не можем его получить просто мы не знаем его название, для это там нужно вычленить из ключа название tablespace, но таких функций Zabbix нет.
При таких настройках действия, Вам будет приходить нечто подобное:
Прототипы данных для job’ов:
Прототипы триггеров для job’ов:
Триггеры срабатывают если:
- время выполнения job’a более 720 минут
- если job завершился со статусом не равным «SUCCEEDED»
Источник