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

Reply via email to