У меня есть более старая база данных кактусов с критическими данными, которые я пытаюсь восстановить. Старая база данных имеет много меньше полей, чем новая текущая конюшня. Выполнение ручного импорта производит дикие ошибки. Как Вы импортируете и более старый дб Кактусов в текущую конюшню?
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)
вместо создания новой базы данных и попыток ручного переноса данных.
.Недавно я успешно обновил базу данных borked 0.8.8c до Cacti 1.2.x. Кто-то установил его много лет назад, использовал cronjob из новой версии Cacti, но файлы из старой версии и версии DB где-то посередине.
Вот как я это сделал:
rsync --ignore-existing cacti / resource / snmp_queries / *. Xml cacti / scripts / * newserver :.
/etc/spine.conf
и /etc/cacti/db.php
с новыми учетными данными mysqldump
php /var/lib/cacti/cli/repair_database.php
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, которые уже были здесь размещены.