我在 Ubuntu Server 16.04 上运行 Landscape On-Premises(版本 16.06)。活动和事件选项卡每天都会填满相同的条目。我无法从 Web 界面删除任何条目。通过 ssh,我删除了服务器 /var/log 目录中的相关日志文件,但当我登录 Landscape Web 界面时,所有活动和事件日志仍然存在。
我已经得到信息,日志应该是可审计日志,因此故意设计为不可清除。我怎样才能删除活动和事件日志?日志文件位于哪里?我怎样才能操作它们来清理服务器界面?
更新:尝试删除并重新安装 postgresql 和 Landscape Server 的结果
清除并重新安装的解决方案postgresql
通常有效,但在重新安装并重新注册帐户和计算机后,计算机无法 ping 景观服务器。
清除并重新安装的解决方案landscape-server
不起作用 - 我收到一个错误,无法解决,而且我根本无法再访问 Landscape Server-> 下面的屏幕截图。
我需要补充一点,我没有sudo apt autoremove
在删除后运行 - 因为这将是一个完整的重新安装,而这只是为了清除事件日志而付出太多的努力。
答案1
我曾经历过一段虚拟机大量流失的时期,这让我陷入了类似的境地(许多悬而未决的活动)。
事实证明,清除旧活动相当容易。
登录您的数据库:
durr@spacecase:~> sudo -u postgres psql
[sudo] password for durr:
psql (9.5.7)
Type "help" for help.
postgres=#
此时我们可以看到数据库概况。
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
---------------------------------+----------+-----------+---------+-------+-----------------------
landscape-standalone-account-1 | postgres | SQL_ASCII | C | C |
landscape-standalone-knowledge | postgres | SQL_ASCII | C | C |
landscape-standalone-main | postgres | SQL_ASCII | C | C |
landscape-standalone-package | postgres | SQL_ASCII | C | C |
landscape-standalone-resource-1 | postgres | SQL_ASCII | C | C |
landscape-standalone-session | postgres | SQL_ASCII | C | C |
postgres | postgres | SQL_ASCII | C | C |
template0 | postgres | SQL_ASCII | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | SQL_ASCII | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
(9 rows)
我之前也探索过,我不知道为什么景观显然需要六一个应用程序可以使用不同的数据库。无论如何,在本例中,我们需要以下数据库landscape-standalone-account-1
:
postgres=# \c landscape-standalone-account-1
You are now connected to database "landscape-standalone-account-1" as user "postgres".
\d
将列出此数据库中的表。它们的数量非常多。这可能会打开输出分页器,按 q 退出(或者干脆不输入 )\d
。
landscape-standalone-account-1=# \d
该activity
表看起来很有趣。我们来看看:
landscape-standalone-account-1=# \d activity
[再次打开输出分页器]
哇,好大啊。里面有多少东西?
landscape-standalone-account-1=# SELECT count(*) FROM ACTIVITY;
count
-------
830
(1 row)
这与我的活动计数 (38) 不符。无论如何,我们可以很轻松地重新安装,让我们删除所有内容。
landscape-standalone-account-1=# DELETE FROM activity;
DELETE 830
landscape-standalone-account-1=# \q
durr@spacecase:~>
我现在没有任何活动,并且tail
登录/var/log/landscape
也/var/log/landscape-server
没有显示任何错误。
所以是的,自己清理陈旧的活动非常容易。
答案2
它们位于 postgresql 数据库中,没有支持清除它们的工具。您可以尝试数据库操作,但我不知道它们是什么。
为了防止出现任何模糊的情况,我不会建议尝试清除数据库行,除非你只是在玩。
答案3
有这么多重新同步活动是不正常的。一定有其他原因。理想情况下,不应该有重新同步活动。
我们有这个旧的常见问题解答条目,它仍然适用:
还有一个提示要添加到该列表中:检查您是否有多个景观客户端进程。正常的进程树如下所示:
2350 ? S 1:00 /usr/bin/python /usr/bin/landscape-client --daemon --pid-file /var/run/landscape/landscape-client.pid
2352 ? Sl 0:30 \_ /usr/bin/python /usr/bin/landscape-broker --ignore-sigint --quiet
2353 ? Sl 0:36 \_ /usr/bin/python /usr/bin/landscape-monitor --ignore-sigint --quiet
2354 ? S 0:16 \_ /usr/bin/python /usr/bin/landscape-manager --ignore-sigint --quiet
可能还有一个名为 package-reporter 或 package-changer 的子进程,这没关系,但都在父级 Landscape-client 下。如果您有其他进程(例如该组之外的进程),则可能会导致重新同步。这也会导致您的计算机中出现“克隆”。
答案4
经过多次尝试清除活动和事件日志后,以下方法有效:
- 全新安装 Ubuntu 服务器,包括 lamp/mail/openssh/postgresql
- 全新安装 Landscape API / Landscape Client / Landscape Server Quickstart
关闭 Ubuntu 服务器
在每个连接的 Ubuntu 工作站上将 /etc/landscape/client.conf 更改为默认值
- 从每个连接的 Ubuntu 工作站上的 /etc/landscape 文件夹中删除 .pem 文件
关闭所有工作站
启动 Ubuntu 服务器,注册 Landscape 账户,然后注册服务器
- 启动所有 Ubuntu 工作站,添加新的 .pem 文件,编辑 /etc/landscape/client.conf
- 注册每一个 Ubuntu 工作站并接受 Landscape 中所有待处理的计算机
现在一切都按预期进行,尽管从头开始有点过头了。