Springle has uploaded a new change for review.
https://gerrit.wikimedia.org/r/78952
Change subject: Script to handle purging of query digest data older than 4
weeks.
......................................................................
Script to handle purging of query digest data older than 4 weeks.
Change-Id: I9cd5f79184df5bdf97246ce1c98b32c33f0926e2
---
A modules/coredb_mysql/manifests/purge_slow_digest.pp
A modules/coredb_mysql/templates/purge_query_digest.sh.erb
2 files changed, 47 insertions(+), 0 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/operations/puppet
refs/changes/52/78952/1
diff --git a/modules/coredb_mysql/manifests/purge_slow_digest.pp
b/modules/coredb_mysql/manifests/purge_slow_digest.pp
new file mode 100644
index 0000000..4960b90
--- /dev/null
+++ b/modules/coredb_mysql/manifests/purge_slow_digest.pp
@@ -0,0 +1,30 @@
+# class for purging slow query digest log history
+
+class coredb_mysql::purge_slow_digest {
+
+ include passwords::mysql::querydigest
+
+ $mysql_user = "ops"
+ $digest_host = "db1001.eqiad.wmnet"
+ $digest_slave = "db1016.eqiad.wmnet"
+ $digest_db = "query_digests"
+
+ file {
+ "/usr/local/bin/purge_query_digest.sh":
+ owner => root,
+ group => root,
+ mode => 0500,
+ content => template("coredb_mysql/purge_query_digest.sh.erb");
+ }
+
+ cron {
+ purge_slow_digest:
+ command => "/usr/local/bin/purge_query_digest.sh >/dev/null 2>&1",
+ require => File["/usr/local/bin/purge_query_digest.sh"],
+ user => root,
+ weekday => 0,
+ hour => 3,
+ minute => 30,
+ ensure => present;
+ }
+}
diff --git a/modules/coredb_mysql/templates/purge_query_digest.sh.erb
b/modules/coredb_mysql/templates/purge_query_digest.sh.erb
new file mode 100644
index 0000000..503a733
--- /dev/null
+++ b/modules/coredb_mysql/templates/purge_query_digest.sh.erb
@@ -0,0 +1,17 @@
+#!/bin/bash
+# Remove query digest history older than 4 weeks
+
+pw=<%= scope.lookupvar('passwords::mysql::querydigest::mysql_ops_db') %>
+mysql_user=<%= mysql_user %>
+digest_host=<%= digest_host %>
+digest_slave=<%= digest_slave %>
+digest_db=<%= digest_db %>
+mysql_args="-h ${digest_host} -u ${mysql_user} -p${pw} --skip-column-names"
+
+for table in $(mysql ${mysql_args} -e 'show tables like "%history"'
${digest_db}); do
+ pt-archiver --no-check-charset --primary-key-only --purge \
+ --check-slave-lag="h=${digest_host},u=${mysql_user},p=${pw}"
--limit=1000 \
+
--source="h=${digest_host},u=${mysql_user},p=${pw},D=${digest_db},t=${table}" \
+ --where="ts_max < DATE_SUB(NOW(), INTERVAL 4 WEEK)"
+ exit
+done
--
To view, visit https://gerrit.wikimedia.org/r/78952
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I9cd5f79184df5bdf97246ce1c98b32c33f0926e2
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Springle <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits