импортируйте спасенную базу данных кактусов в более новую версию

У меня есть более старая база данных кактусов с критическими данными, которые я пытаюсь восстановить. Старая база данных имеет много меньше полей, чем новая текущая конюшня. Выполнение ручного импорта производит дикие ошибки. Как Вы импортируете и более старый дб Кактусов в текущую конюшню?

mysql> use cacti;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

mysql> show tables;
+---------------------------+
| Tables_in_cacti           |
+---------------------------+
| cdef                      |
| cdef_items                |
| colors                    |
| data_input                |
| data_input_data           |
| data_input_fields         |
| data_local                |
| data_template             |
| data_template_data        |
| data_template_data_rra    |
| data_template_rrd         |
| graph_local               |
| graph_template_input      |
| graph_template_input_defs |
| graph_templates           |
| graph_templates_gprint    |
| graph_templates_graph     |
| graph_templates_item      |
| graph_tree                |
| graph_tree_items          |
| host                      |
| host_graph                |
| host_snmp_cache           |
| host_snmp_query           |
| host_template             |
| host_template_graph       |
| host_template_snmp_query  |
| plugin_config             |
| plugin_db_changes         |
| plugin_hooks              |
| plugin_realms             |
| poller                    |
| poller_command            |
| poller_item               |
| poller_output             |
| poller_reindex            |
| poller_time               |
| rra                       |
| rra_cf                    |
| settings                  |
| settings_graphs           |
| settings_tree             |
| snmp_query                |
| snmp_query_graph          |
| snmp_query_graph_rrd      |
| snmp_query_graph_rrd_sv   |
| snmp_query_graph_sv       |
| user_auth                 |
| user_auth_perms           |
| user_auth_realm           |
| user_log                  |
| version                   |
+---------------------------+
52 rows in set (0.00 sec)

mysql> use cacti2;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+--------------------------------+
| Tables_in_cacti2               |
+--------------------------------+
| cdef                           |
| cdef_items                     |
| colors                         |
| data_input                     |
| data_input_data                |
| data_input_fields              |
| data_local                     |
| data_template                  |
| data_template_data             |
| data_template_data_rra         |
| data_template_rrd              |
| graph_local                    |
| graph_template_input           |
| graph_template_input_defs      |
| graph_templates                |
| graph_templates_gprint         |
| graph_templates_graph          |
| graph_templates_item           |
| graph_tree                     |
| graph_tree_items               |
| host                           |
| host_graph                     |
| host_snmp_cache                |
| host_snmp_query                |
| host_template                  |
| host_template_graph            |
| host_template_snmp_query       |
| plugin_config                  |
| plugin_db_changes              |
| plugin_discover_hosts          |
| plugin_discover_template       |
| plugin_flowview_devices        |
| plugin_flowview_dnscache       |
| plugin_flowview_ports          |
| plugin_flowview_queries        |
| plugin_flowview_schedules      |
| plugin_hooks                   |
| plugin_notification_lists      |
| plugin_realms                  |
| plugin_thold_contacts          |
| plugin_thold_host_failed       |
| plugin_thold_log               |
| plugin_thold_template_contact  |
| plugin_thold_threshold_contact |
| poller                         |
| poller_command                 |
| poller_item                    |
| poller_output                  |
| poller_reindex                 |
| poller_time                    |
| rra                            |
| rra_cf                         |
| settings                       |
| settings_graphs                |
| settings_tree                  |
| snmp_query                     |
| snmp_query_graph               |
| snmp_query_graph_rrd           |
| snmp_query_graph_rrd_sv        |
| snmp_query_graph_sv            |
| syslog                         |
| syslog_alert                   |
| syslog_facilities              |
| syslog_host_facilities         |
| syslog_hosts                   |
| syslog_incoming                |
| syslog_logs                    |
| syslog_priorities              |
| syslog_remove                  |
| syslog_removed                 |
| syslog_reports                 |
| syslog_statistics              |
| thold_data                     |
| thold_template                 |
| user_auth                      |
| user_auth_perms                |
| user_auth_realm                |
| user_log                       |
| version                        |
+--------------------------------+
79 rows in set (0.00 sec)
1
задан 28 August 2014 в 17:01
2 ответа

Рекомендуемая процедура :

  • создать резервную копию существующей базы данных
  • обновить кактусы
  • , а затем позволить кактусам обновить существующую схему базы данных,

вместо создания новой базы данных и попыток ручного переноса данных.

.
0
ответ дан 4 December 2019 в 08:32

Недавно я успешно обновил базу данных borked 0.8.8c до Cacti 1.2.x. Кто-то установил его много лет назад, использовал cronjob из новой версии Cacti, но файлы из старой версии и версии DB где-то посередине.


Вот как я это сделал:

  1. Установите новейшие Cacti, Spine и то, что я установил на старом сервере, на новый
  2. rsync --ignore-existing cacti / resource / snmp_queries / *. Xml cacti / scripts / * newserver :.
  3. создать пустую БД
  4. отредактировать /etc/spine.conf и /etc/cacti/db.php с новыми учетными данными
  5. скопировать поверх старой БД, mysqldump
  6. восстановить базу данных с помощью php /var/lib/cacti/cli/repair_database.php
  7. обновить базу данных с помощью php / var / lib / cacti / cli /upgrade_database.php

Возможно, вам придется снова восстановить БД после обновления. После обновления БД у меня остались некоторые настройки для изменения , которые я сделал непосредственно в базе данных перед посещением Cacti в моем браузере. Для этого вы можете показать все пути в настройках с помощью SELECT * FROM settings WHERE VALUE LIKE '% /%' .

Если у вас был установлен Cacti вручную в старой системе или если вы сейчас используете другой дистрибутив , пути могут быть неправильными.Исправьте это с помощью настроек ОБНОВЛЕНИЯ SET VALUE = REPLACE (VALUE, '/ var / www / html / cacti', '/ usr / share / cacti'); (конечно замените пути на те, которые относятся к ты).


Для меня даже пути к spine и rrdtool были неправильными. Мне пришлось изменить их с помощью:

UPDATE settings SET VALUE = '/usr/bin/spine' WHERE name = 'path_spine';
UPDATE settings SET VALUE = '/usr/bin/rrdtool' WHERE name = 'path_rrdtool';

Наконец, я отключил все плагины на случай, если с ними что-то не так, с помощью UPDATE plugin_config SET status = '0'; - позже я включил их вручную.

Некоторые отчеты в report_items были неправильными, что я исправил с помощью DELETE FROM reports_items WHERE 'id' = 123; . Конечно, вам нужно проверить журналы Cacti, чтобы узнать, какие отчеты не работают.

После этого не забудьте создать резервную копию своей новой установки Cacti и проверить каждый график и журналы Cacti, чтобы узнать, не пропустили ли вы что-нибудь.


Я заменил Cronjob Cacti на модуль / таймер systemd для лучшей регистрации и воспроизводимости выполнения. Это мой cacti-poller.service:

[Unit]
Description=Cacti Poller

[Service]
Type=oneshot
ExecStart=/usr/bin/php /usr/share/cacti/poller.php

и соответствующий cacti-poller.timer:

[Unit]
Description=Run cacti poller every 5 minutes

[Timer]
OnCalendar=*:0/5
Unit=cacti-poller.service
AccuracySec=1s

Это также задокументировано в Arch Wiki . Пожалуйста, также взгляните на Cacti Docs, которые уже были здесь размещены.

1
ответ дан 20 March 2020 в 07:17

Теги

Похожие вопросы