Each request to Route53 creates its own log entry, so rather than parsing you should be able to count the log entries in a given log group over time with an empty metric filter. Amazon docs explain how to do that here. You can have each hosted zone log to its own log group (to count them separately), or can have some hosted zones log to the same log group (to count them together or to split using metric filters).
In console:
1. Open the CloudWatch console at
https://console.aws.amazon.com/cloudwatch/.
2. In the navigation pane, choose Logs.
3. In the contents pane, select a log group, and then choose Create
Metric Filter.
4. On the Define Logs Metric Filter screen, leave Filter Pattern blank.
5. Choose Assign Metric, and then on the Create Metric Filter and
Assign a Metric screen, for Filter Name, type EventCount.
6. Under Metric Details, for Metric Namespace, type MyNameSpace.
7. For Metric Name, type MyAppEventCount.
8. Choose Show advanced metric settings and confirm that Metric Value
is 1. This specifies that the count is incremented by 1 for every
log event.
9. For Default Value type 0, and then choose Create Filter. Specifying
a default value ensures that data is reported even during periods
when no log events occur, preventing spotty metrics where data
sometimes does not exist.
You can then pull up the data in CloudWatch Metrics and graph it with whatever interval and statistic you like. In your case, "Sum" with "1 day" intervals should get you a line graph of the total DNS requests per day.