devserver: move scripts to venv.

There's a dependency error in importing google.protobuf.descriptor.
To avoid further troubles, this CL tends to move monitor scripts for
devserver to venv.

BUG=chromium:708890
TEST=Run bin/apache_log_metrics & bin/tail_until_writer_finished.

Change-Id: Ib1b69e12aea1e09c3d2c6a3d41bc796070d9daa0
Reviewed-on: https://chromium-review.googlesource.com/490707
Commit-Ready: Xixuan Wu <xixuan@chromium.org>
Tested-by: Xixuan Wu <xixuan@chromium.org>
Reviewed-by: Xixuan Wu <xixuan@chromium.org>
diff --git a/apache_log_metrics.py b/apache_log_metrics.py
index 0bd1a4d..9c9d52c 100755
--- a/apache_log_metrics.py
+++ b/apache_log_metrics.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python2
+#!/usr/bin/env python2
 
 # Copyright 2016 The Chromium OS Authors. All rights reserved.
 # Use of this source code is governed by a BSD-style license that can be
@@ -15,8 +15,12 @@
 import re
 import sys
 
-from devserver import MakeLogHandler
+# TODO(ayatane): Fix cros lint pylint to work with virtualenv imports
+# pylint: disable=import-error
+from devserver_lib.devserver import MakeLogHandler
 
+# only import setup_chromite before chromite import.
+import setup_chromite # pylint: disable=unused-import
 from chromite.lib import ts_mon_config
 from chromite.lib import metrics
 from chromite.lib import cros_logging as logging
@@ -188,7 +192,7 @@
   """Parses command line arguments."""
   p = argparse.ArgumentParser(
       description='Parses apache logs and emits metrics to Monarch')
-  p.add_argument('--logfile')
+  p.add_argument('--logfile', required=True)
   return p.parse_args()
 
 
@@ -196,6 +200,7 @@
   """Sets up logging and runs matchers against stdin"""
   args = ParseArgs()
   root = logging.getLogger()
+
   root.addHandler(MakeLogHandler(args.logfile))
   root.setLevel(logging.DEBUG)
   ts_mon_config.SetupTsMonGlobalState('devserver_apache_log_metrics')